1. 程式人生 > >2018.3.27 二周第二次課

2018.3.27 二周第二次課

環境變量PATH cp命令 mv命令 文檔查看cat/more/less/h

1. 環境變量PATH

命令介紹:
which 查找某個命令的絕對路徑
!$ 這個命令可以查看你最後一個命令的參數 (上一條命令最後一個參數)
例:tree !$
cp -r 如果目標目錄存在的話,則會拷貝到目標目錄下的目錄裏面,如果目標目錄不在的話,則會創建目錄放置那裏。
wc 可以查看一個文件的行數有多少, 語法:wc -l anaconda-ks.cfg.1 # -l後面跟要查看的文件相對路徑或絕對路徑

1.1 PATH環境變量

如何自定義環境變量
例:假設把ls命令換成ls2並且實現ls的功能,我們首先把給ls的根目錄cp到一個文件裏,如/tmp。

第一步: 先查看ls在哪個路徑下,在這裏我們可以看見他在/usr/bin下

[root@zhangzhen-01 ~]# which ls
alias ls=‘ls --color=auto‘
/usr/bin/ls

第二步:查看一下PATH(環境變量)下都有哪些目錄

[root@zhangzhen-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

第三步:我們把 ls 的絕對路徑CP一份到/tmp下

[root@zhangzhen-01 ~]# cp /usr/bin/ls /tmp/ls2
[root@zhangzhen-01 ~]# ls /tmp/
ks-script-PhAkJi
ls #在這個命令的備份在這裏

第四步:我們使用PATH(環境變量)賦值,在基礎上再添加一個目錄。

[root@zhangzhen-01 ~]# PATH=$PATH:/tmp
[root@zhangzhen-01 ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp

第五步:用which ls2 查看是否生效

[root@zhangzhen-01 ~]# which ls2
/tmp/ls2

在這裏,我們新開一個終端,剛才設置的PATH(環境變量)就不生效了
如何讓他永久生效呢? 我們就需要改一個配置文件。

第一步:編輯配置文件 vi /etc/profile ,按大“G"進入到最後一行,再按"A"讓光標到最後一個字符末尾,回車,添加

PATH=$PATH:/tmp/

如何賦值PATH(環境變量)呢,直接用PATH賦值

[root@zhangzhen-01 ~]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:
[root@zhangzhen-01 ~]# !echo
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:

2.命令cp (拷貝原文件成目標文件)

概念:cp即copy的簡寫
命令格式為: cp [選項] [來源文件] [目的文件]
-r : 如果要復制一個目錄,必須加-r選項,否則不能復制。
cp -r 如果目標目錄存在的話,則會拷貝到目標目錄下的目錄裏面,如果目標目錄不在的話,則會創建目錄放置那裏。

我想吧test1目錄復制到當前目錄下並且修改名字為test2.
[root@zhangzhen-01 /]# mkdir /home/zhangzhen-03/test1
[root@zhangzhen-01 /]# ls /home/zhangzhen-03/
test1
[root@zhangzhen-01 /]# cp -r /home/zhangzhen-03/test1/ /home/zhangzhen-03/test2/
[root@zhangzhen-01 /]# ls /home/zhangzhen-03/
test1 test2

-i 選項:這個是安全選項,如果遇到一個已存在的文件,會詢問是否覆蓋。

3.mv 命令 (move)

該命令的格式為:mv [選項] [源文件或目錄] [目標文件或目錄]
該命令有幾種情況
1)目標文件是目錄,但該目錄不存在
2)目錄文件是目錄,切目錄存在
3)目錄文件是文件,切該文件不存在
4)目標文件是文件,但該文件存在

例1:

如源目錄到目標目錄且該目錄不存在時
[root@zhangzhen-01 zhang]# mkdir 1 2 3
[root@zhangzhen-01 zhang]# ls
1 2 3
[root@zhangzhen-01 zhang]# mv 1 4
[root@zhangzhen-01 zhang]# ls
2 3 4

文件1本身存在,4不存在,把1修改名字為4

例2:

如源目錄到目標目錄且該目錄存在時
[root@zhangzhen-01 zhang]# mv 1 4
[root@zhangzhen-01 zhang]# ls
2 3 4
[root@zhangzhen-01 zhang]# mv 2 3
[root@zhangzhen-01 zhang]# ls
3 4
[root@zhangzhen-01 zhang]# ls 3/
2
#假設2目錄移動到本目錄下,且名字修改成3,如目標目錄存在的話,則會放到該目標目錄下的目錄。

例3:目錄文件是文件,切該文件不存在,則修改名字

[root@zhangzhen-01 3]# ls
1 2
[root@zhangzhen-01 3]# mv 1 3
[root@zhangzhen-01 3]# ls
2 3

例4:目標文件是文件,但該文件存在

[root@zhangzhen-01 3]# ls
2 3
[root@zhangzhen-01 3]# mv 2 3
mv:是否覆蓋"3"? n

如果該目錄存在的話,則覆蓋。

3. 文檔查看cat_more_less_head_tai

大“G”直接翻到最後一行,小“g”行首。
cat命令的使用

參數 -A :顯示所有的內容,包括特殊字符 如“$”符號,表示行尾,結束的意思
命令如下 : cat -A /etc/passwd
參數 -n :顯示行數
命令如下 : cat -n /etc/passwd
例: 查看 /etc/passwd 文件
[root@zhangzhen-01 ~]# cat /etc/passwd #省略號為省略中間的部分
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
·······
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
zhangzhen-03:x:1000:1000::/home/zhangzhen-03:/bin/bash

tac命令的使用

概念: 查看一個文件的內容,和cat的概念一樣,cat是正序,tac是倒序查看
命令如下 : tac /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin


adm:x:3:4:adm:/var/adm:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
**root:x:0:0:root:/root:/bin/bash**   #最後一行和cat命令的第一行是一樣的

more命令的使用

概念:當文件內容太多,一屏不能全部顯示時,用cat是查看不了前面的內容,這時可以使用“Ctrl+B”可以向上翻屏,按Ctrl+F可以向下翻屏(也可以按空格),想退出輸入“q”
命令如下:more /var/log/cron # more後面跟你想查看的文件目錄

wc 命令的使用

wc命令使用參考:https://baike.baidu.com/item/wc/405573?fr=aladdin
概念:wc命令是查看一個文件有多少行
語法:wc -l anaconda-ks.cfg.1 # -l是統計行數
例:查看一個文件有多少行
[root@zhangzhen-01 ~]# wc -l anaconda-ks.cfg
51 anaconda-ks.cfg

less 命令的使用 建議使用
概念:跟more使用的方法一樣,後面直接跟文件名
優點:這個可以使用方向鍵 上下左右 來控制,也可以使用空格翻頁
less可以實現查找功能,打開一個文檔後,輸入“/” 後面跟你想要查找的字符串,輸入“?”可以從後往前看。
按小“n”可以查看下一個字符串在哪,按大“N”可以向上查找。

head命令的使用

概念:命令head用於顯示文件的前10行,後面直接跟文件名。如果加“-n”選項,則顯示文件的前幾行。
語法:head /etc/passwd
顯示頭兩行語法: head -n 2 /etc/passwd

tail命令的使用

概念:和head類似,命令tail用於顯示文件的最後10行,直接跟文件名,如果加“-n”,則顯示文件的前幾行。
語法:tail /etc/passwd
顯示最後兩行語法:tail -n 2 /etc/passwd

-

命令 tail -f 可以查看動態日誌,適合查看正在生成的文件。
語法: tail -f /etc/passwd

技術分享圖片

2018.3.27 二周第二次課