1. 程式人生 > >第二關練習講解

第二關練習講解

提示 var max tar打包 xargs host read 翻譯 文件

第1章 Linux的啟動過程

第2章 PATH
PATH 存放的是Linux下命令的路徑(位置)
echo $PATH $LANG $PS1
/bin/
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
[root@oldboyedu50-lnb ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

第3章 Linux下執行命令的過程
3.1 是否是別名
3.2 在PATH中找命令是否存在
1) 提示
Command not found
2)執行
3.3 題:
1 如何過濾出已知當前目錄下oldboy中的所有一級目錄(提示:不包含oldboy目錄下面目錄的子目錄及隱藏目錄,即只能是第一級目錄)?

粘貼以下內容:
mkdir /oldboy -p
cd /oldboy
mkdir ext/oldboy test xiaodong xiaofan xingfujie -p
touch jeacen oldboy wodi.gz yingsui.gz

方法一 tree
[root@oldboyedu-50 oldboy]# tree -dL 1
.
├── ext
├── test
├── xiaodong
├── xiaofan
└── xingfujie
5 directories

方法二 –find
-maxdepth:一級目錄
[root@oldboyedu-50 oldboy]# find -maxdepth 1 -type d

.
./xiaodong
./xiaofan
./ext
./test
./xingfujie

[root@oldboyedu-50 oldboy]# find -maxdepth 1 -type d ! -name "." find的排除方法
[root@oldboyedu50-lnb /oldboy]# find -maxdepth 1 -type d -name "."
./xiaodong
./xiaofan
./ext
./test
./xingfujie

!:排除 取反 非

方法三 d開頭的
^:以。。。開頭的行 三劍客使用 正則表達式
[root@oldboyedu-50 oldboy]# ll |grep "^d"

drwxr-xr-x. 3 root root 4096 Jul 23 09:30 ext
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 test
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xingfujie

方法四 第二列大於1 awd ‘$2>1’
[root@oldboyedu-50 oldboy]# ll |awk ‘$2>1‘
total 20
drwxr-xr-x. 3 root root 4096 Jul 23 09:30 ext
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 test
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xiaodong
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xiaofan
drwxr-xr-x. 2 root root 4096 Jul 23 09:30 xingfujie

方法五ls
[root@oldboyedu-50 oldboy]# ls -F
ext/ oldboy wodi.gz xiaofan/ yingsui.gz
jeacen test/ xiaodong/ xingfujie/
-F 不同類型的文件 加上不同的標記 目錄/
Ls –F |grep “/”
[root@oldboyedu50-lnb /oldboy]# ls -F |grep "/"
ext/
test/
xiaodong/
xiaofan/
xingfujie/

[root@oldboyedu50-lnb /oldboy]# ls -ld */
drwxr-xr-x 3 root root 4096 Jul 19 23:59 ext/
drwxr-xr-x. 2 root root 4096 Jul 16 19:24 test/
drwxr-xr-x 2 root root 4096 Jul 19 23:59 xiaodong/
drwxr-xr-x 2 root root 4096 Jul 19 23:59 xiaofan/
drwxr-xr-x 2 root root 4096 Jul 19 23:59 xingfujie/
-l:顯示詳細信息

Find 顯示你當前所有目錄
Find:-maxdepth 最大深度
Tree 以樹狀的形式顯示目錄文件
Tree:–d 只顯示目錄
-L level 最多顯示多少層
第4章 創建壓縮包
4.1 題:
/etc/目錄為Linux系統的默認的配置文件及服務啟動命令的目錄
a.請用tar打包/etc整個目錄(打包及壓縮)。
c.請把a點命令的壓縮包,解壓到/tmp指定目錄下(最好只用tar命令實現)。
b.請用tar打包/etc整個目錄(打包及壓縮,但需要排除/etc/services文件)。

Windows 壓縮 winrar/好壓/2345壓縮
Linux 打包壓縮 tar

tar zcvf /tmp/etc.tar.gz
壓縮之後的放在那裏 /etc/ 壓縮包
2.[root@oldboyedu-50 oldboy]# tar zcf /tmp/etc.tar.gz /etc/
tar: Removing leading /‘ from member names<br/>tar: Removing leading/‘ from hard link targets
Z gzip 通過gzip軟件壓縮
C create 創建包
V verbose 顯示過程
F file 指定文件

Zcvf 創建壓縮包
解壓
先進入 cd /tmp/
解壓:Tai zxf etc.tar.gz
查看壓縮包內容:Tar ztf /tmp/etc.tar.gz
t list 顯示壓縮包內容
查看:tar tf
解壓:tar xf

解壓到當前文件/opt下
[root@oldboyedu-50 tmp]# tar xf /tmp/etc.tar.gz -C /opt/[root@oldboyedu-50 tmp]# ll /opt/
total 8
drwxr-xr-x. 79 root root 4096 Jul 23 08:35 etc
drwxr-xr-x. 2 root root 4096 Mar 26 2015 rh

b.請用tar打包/etc整個目錄(打包及壓縮,但需要排除/etc/services文件)
[root@oldboyedu50-lnb /tmp]# tar zcf /tmp/etc-pai.tar.gz /etc/ --exclude /etc/services
tar: Removing leading `/‘ from member names
[root@oldboyedu50-lnb /tmp]# tar tf /tmp/etc-pai.tar.gz |grep services
etc/init/readahead-disable-services.conf
[root@oldboyedu50-lnb /tmp]# tar tf /tmp/etc.tar.gz |grep services
etc/init/readahead-disable-services.conf
etc/services
tar zcf /tmp/etc-pai.tar.gz /etc/ --exclude /etc/services
--exclude-from name.txt
name.txt
oldboy.txt
/oldboy/oldboy
假如當前目錄是
cd - 進入到上一次所在的位置
An argument of - is equivalent to $OLDPWD.
#cd - === cd $OLDPWD
cd .
cp/mv
cd ..
cd ~ ==== cd
[root@oldboyedu50-lnb /tmp]# cd /etc/
[root@oldboyedu50-lnb /etc]# touch oldboy.txt

ls -lrt
#-r 逆序
#-t 按照修改時間

題:調試系統服務時,希望能實時查看系統日誌/var/log/secure的更新,如何做?
-f
-F == -f --try 如果文件不存在 會不斷重試
tail -f /var/log/secure
tailf /var/log/secure

題:
打印配置文件nginx.conf內容的行號及內容,該如何做?
[root@oldboyedu50-lnb /oldboy]# #{1..5} 生成序列
[root@oldboyedu50-lnb /oldboy]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@oldboyedu50-lnb /oldboy]# echo {01..10}
01 02 03 04 05 06 07 08 09 10
[root@oldboyedu50-lnb /oldboy]# echo stu{01..10} |xargs -n1
stu01
stu02
stu03
stu04
stu05
stu06
stu07
stu08
stu09
stu10
[root@oldboyedu50-lnb /oldboy]# echo stu{01..10} |xargs -n1 >nginx.conf

方法1 cat
[root@oldboyedu50-lnb /oldboy]# cat -n nginx.conf
1 stu01
2 stu02
3 stu03
4 stu04
5 stu05
6 stu06
7 stu07
8 stu08
9 stu09
10 stu10

方法2 vim
:set nu #顯示行號
#nu === number (數字)
:set nonu #取消顯示行號

tar命令經典故障 Removing leading /‘ from member names<br/>創建壓縮包都見過這個提示吧?<br/>[root@oldboyedu50-lnb /oldboy]# tar zcf /tmp/etc.tar.gz /etc/<br/>tar: Removing leading/‘ from member names
什麽意思呢?
翻譯:
Removing leading `/‘ from member names
把壓縮包中的開頭的/(根)刪除掉
背後過程:
打包壓縮過程中 文件或目錄 絕對路徑---->相對路徑
打包的時候:
/etc/host
/etc/profile
壓縮包中樣子
etc/host
etc/profile
這個提示原因:
防止解壓的時候覆蓋源文件。

4.2 vmware 經典故障:
該虛擬機似乎正在使用中。
如果該虛擬機未在使用,請按“獲取所有權(T)”按鈕獲取它的所有權。否則,請按“取消(C)”按鈕以防損壞。
配置文件: G:\VMware\模板機01\老男孩教育50期-模板機01.vmx。
方法1.重啟計算機
方法2.通過everything 搜索 .lck 刪除 虛擬機名稱.lck 目錄 重啟vmware

第二關練習講解