環境變量PATH、cp,mv,文檔查看命令

一、環境變量PATH

echo $PATH 打印當前的環境變量

PATH=$PATH: 路徑,定義環境變量

  • which查找某個命令的絕對路徑,也可以查看某個命令的別名,which查找的範圍就在PATH下的幾個目錄下查找
[root@localhost ~]# which ls

alias ls='ls --color=auto'
    /usr/bin/ls
[root@localhost ~]# 
  • 爲什麼我們在使用命令時,只是打出命令,而沒有使用這些命令的絕對路徑呢,這是因爲環境變量PATH在起作用。
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  • 如果你的命令在這幾個目錄下,你敲的命令就不需要加絕對路徑
[root@localhost ~]# cp /usr/bin/ls /tmp/ls2
[root@localhost ~]# which ls2
/usr/bin/which: no ls2 in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  • 這裏要用決對路徑,如果不加就會報錯
[root@localhost ~]# /tmp/ls2
anaconda-ks.cfg
[root@localhost ~]# /tmp/ls2  /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
  • 我們將ls2的目錄加到PATH下,就可以直接使用ls2命令了
[root@localhost ~]# PATH=$PATH:/tmp/
[root@localhost ~]# ls2 /usr/
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp
  • 注意:這裏只是臨時將/tmp/目錄加到PATH下,重新打開一個終端使用ls2還是會報錯,不會生效,如果想要永久生效,我們需要修改配置文件/etc/profile
  • 這裏是列表文本 然後打開另一個終端輸入命令ls2
  • 如果想要刪除/tmp/;刪除配置文件後,在執行下列命令

二、cp命令

  • cp [選項] [源文件] [目標文件]
  • r 拷貝目錄
  • v 可視化
  • i 安全選項,如果目標文件存在,提示是否覆蓋。cp自帶-i選項
  • cp定一個規矩,拷貝目錄,都要加上/
[root@localhost test]# ls
111  test1  test2
[root@localhost test]# touch 1.txt
[root@localhost test]# cp 1.txt 2.txt
[root@localhost test]# ls
111  1.txt  2.txt  test1  test2
  • cp –r 拷貝目錄
[root@localhost test]# cp -r test1/ 333/
[root@localhost test]# ls
111  1.txt  2.txt  333  test1  test2
  • cp –i 安全選項
[root@localhost test]# cp 1.txt 2.txt
cp:是否覆蓋"2.txt"? 
[root@localhost test]# echo '111'>> 1.txt       // >>追加重定向
[root@localhost test]# echo '222'>> 2.txt
[root@localhost test]# cat 1.txt
111
[root@localhost test]# cat 2.txt
222
[root@localhost test]# /bin/cp  1.txt 2.txt     //用絕對路徑就不會提示覆蓋
[root@localhost test]# cat 2.txt
111
  • cp -v 可視化
[root@linux-128 test]# cp -v 2.txt 111/
"2.txt" -> "111/2.txt"

三、mv命令

  • mv是move的縮寫,移動或者重命名
  • mv [選項] [源文件或目錄] [目標文件或目錄]

  • 這裏是列表文本mv命令有如下幾種情況
    1. 目標文件是目錄,但該目錄不存在
[root@localhost test]# ls
222  2.txt  333  test1  test2
[root@localhost test]# mv 222 111
[root@localhost test]# ls
111  2.txt  333  test1  test2
意思:將目錄222重命名爲111;源目錄消失

2.目標文件是目錄,且該目錄存在

[root@localhost test]# ls
111  2.txt  333  test1  test2
[root@localhost test]# mv 111 333  
[root@localhost test]# ls
2.txt  333  test1  test2
[root@localhost test]# ls 333
111
意思:將目錄111移動到目錄333
  • 當目標文件是目錄時,如果該目錄存在,則會把源文件或目錄移動到該目錄中,如果該目錄不存在,則會把源目錄重命名爲給定的目標文件名。

3.目標文件是文件,且該文件不存在

[root@localhost test]# ls
2.txt  333  test1  test2
[root@localhost test]# mv 2.txt 3.txt
[root@localhost test]# ls
333  3.txt  test1  test2
意思:將文件2.txt重名命爲3.txt;源文件消失

4.目標文件是文件,但該文件存在

[root@localhost test]# ls
1.txt  333  3.txt  test1  test2
[root@localhost test]# mv 1.txt 3.txt
mv:是否覆蓋"3.txt"? y
[root@localhost test]# ls
333  3.txt  test1  test2
意思:將文件1.txt重命名爲3.txt,源文件消失

文檔查看命令

  1. cat命令

    • -n:查看文件時,把行號也顯示在屏幕上
[root@localhost ~]# cat -n /etc/passwd
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    10  operator:x:11:0:operator:/root:/sbin/nologin
    11  games:x:12:100:games:/usr/games:/sbin/nologin
    12  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    13  nobody:x:99:99:Nobody:/:/sbin/nologin
    14  systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    15  dbus:x:81:81:System message bus:/:/sbin/nologin
    16  polkitd:x:999:997:User for polkitd:/:/sbin/nologin
    17  postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    18  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    19  chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    20  young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]# 
  • -A:顯示所有的內容,包括特殊符號
[root@localhost ~]# cat -A /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$
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
sync:x:5:0:sync:/sbin:/bin/sync$
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
halt:x:7:0:halt:/sbin:/sbin/halt$
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$
operator:x:11:0:operator:/root:/sbin/nologin$
games:x:12:100:games:/usr/games:/sbin/nologin$
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin$
nobody:x:99:99:Nobody:/:/sbin/nologin$
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin$
dbus:x:81:81:System message bus:/:/sbin/nologin$
polkitd:x:999:997:User for polkitd:/:/sbin/nologin$
postfix:x:89:89::/var/spool/postfix:/sbin/nologin$
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin$
chrony:x:998:996::/var/lib/chrony:/sbin/nologin$
young:x:1000:1000::/home/young:/bin/bash$
[root@localhost ~]# 

注意:$ 是結束符*

  1. tac命令
    • 和cat一樣,查看一個文件的內容將其顯示在屏幕上,只不過是顛倒過來,先顯示最後一行,最後顯示第一行
[root@localhost ~]# tac /etc/passwd
young:x:1000:1000::/home/young:/bin/bash
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
lp:x:4:7:lp:/var/spool/lpd:/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
[root@localhost ~]# 
  1. more命令:
    查看一個文件的內容,當文件內容太多,一屏顯示不能顯示時,按空格可以據需查看

    • 空格 向下翻屏
    • Ctrl+b 向上翻屏
    • Ctrl+f 向下翻屏
  2. less命令:和more命令一樣,直接跟文件名,但是比more功能更多

    • 空格 翻頁
    • j鍵向下移動
    • k鍵向上移動
    • g光標定位到首行
    • G光標定位到末尾
    • /輸入字符串,回車可以向下搜索這個字符串,按n鍵顯示下一個
    • ?輸入字符串,回車可以向上搜索這個字符串,按n鍵顯示下一個
  3. head命令:用於顯示文件的前10行,後面直接跟文件名;

    • -n 這顯示文件的前幾行
[root@localhost ~]# head -n3 /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
[root@localhost ~]# 
  • 注意:-n後面有無空格均可;也可以省略字母n,-後面直接跟數字

    1. tail命令
  • 和head命令類似,命令tail用於顯示文件的最後10行,後面直接跟文件名
[root@localhost ~]# tail -n3 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
young:x:1000:1000::/home/young:/bin/bash
[root@localhost ~]#
  • tail –f 可以動態顯示文件的最後10行,如果文件內容在不斷增加,可以用-f選項非常直觀顯示,比如tail –f /var/log/messages 可以動態實時地查看日誌內容。
發佈了29 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章