1. 程式人生 > >Linux常用命令詳解(一)--技術流ken

Linux常用命令詳解(一)--技術流ken

 

本節內容

 

基礎命令:
ls
man
pwd
cd
mkdir
echo
touch
cp
mv
rm
rmdir
cat
more
less
head
tail
clear
poweroff
reboot
進階命令(下一章節):
alias
unalias
uname
su
hostname
history
which
wc
w
who
whoami
ping
kill
killall
pkill
seq
du
df
free
date
pidof
ps
top
ip
uptime
wget
curl
tr
dd
tar
grep
find

 

命令詳解

 

1. ls

作用:列出檔案資訊,預設為當前目錄下

常用選項:

-a: 列出所有的檔案,包括所有以.開頭的隱藏檔案

-d: 列出目錄本身,並不包含目錄中的檔案

-h: 和-l一起使用,檔案大小人類易讀

-l: 長輸出

例項1:列出所有的檔案

[[email protected] ~]# ls -a /root
.                            .bash_logout                    k                         .pki      .viminfo
..                           .bash_profile                   keys.sh                   .ssh      wordpress
.ansible                     .bashrc                         manpages
-zh-1.5.1 .tcshrc zabbix_agentd.conf apache-tomcat-8.5.35.tar.gz .config manpages-zh-1.5.1.tar.gz test

例項2:列出目錄

[[email protected] ~]# ls -d /root
/root

例項3:長輸出

[[email protected] ~]# ls -l /root
total 85452
-rw-r--r-- 1 root  root  9642757 Dec 15
17:44 apache-tomcat-8.5.35.tar.gz -rw-r--r-- 1 root root 50 Dec 2 17:34 auto_ins.retry -rw-r--r-- 1 root root 259 Dec 2 17:50 auto_ins.yml -rw------- 1 root root 293691 Jan 9 11:26 dead.letter -rw-r--r-- 1 root root 75541986 Nov 14 13:58 jenkins-2.138.3-1.1.noarch.rpm -rw-r--r-- 1 root root 93 Jan 9 11:19 k -rw-r--r-- 1 root root 873 Dec 20 13:11 keys.sh

例項4:人類易讀

[[email protected] ~]# ls -l /root
total 85452
-rw-r--r-- 1 root  root  9642757 Dec 15 17:44 apache-tomcat-8.5.35.tar.gz
-rw-r--r-- 1 root  root       50 Dec  2 17:34 auto_ins.retry
-rw-r--r-- 1 root  root      259 Dec  2 17:50 auto_ins.yml
-rw------- 1 root  root   293691 Jan  9 11:26 dead.letter
-rw-r--r-- 1 root  root 75541986 Nov 14 13:58 jenkins-2.138.3-1.1.noarch.rpm
-rw-r--r-- 1 root  root       93 Jan  9 11:19 k
-rw-r--r-- 1 root  root      873 Dec 20 13:11 keys.sh

 

2.man

作用:命令幫助使用手冊

在man命令幫助資訊的介面中,所包含的常用操作按鍵及其用途如表2-2所示。

表2-2                                            man命令中常用按鍵以及用途

按鍵                                  

用處

空格鍵

向下翻一頁

PaGe down

向下翻一頁

PaGe up

向上翻一頁

home

直接前往首頁

end

直接前往尾頁

/

從上至下搜尋某個關鍵詞,如“/linux”

?

從下至上搜索某個關鍵詞,如“?linux”

n

定位到下一個搜尋到的關鍵詞                                   

N

定位到上一個搜尋到的關鍵詞

q

退出幫助文件

一般來講,使用man命令檢視到的幫助內容資訊都會很長很多,如果讀者不瞭解幫助文件資訊的目錄結構和操作方法,乍一看到這麼多資訊可能會感到相當困惑。man命令的幫助資訊的結構如表2-3所示。

表2-3                                         man命令幫助資訊的結構以及意義

結構名稱

代表意義                                                             

NAME

命令的名稱

SYNOPSIS

引數的大致使用方法

DESCRIPTION

介紹說明

EXAMPLES

演示(附帶簡單說明)

OVERVIEW

概述

DEFAULTS

預設的功能

OPTIONS

具體的可用選項(帶介紹)

ENVIRONMENT

環境變數

FILES

用到的檔案

SEE ALSO

相關的資料

HISTORY                             

維護歷史與聯絡方式

3.pwd

顯示出當前/活動目錄的名稱

例項:

[[email protected] ~]# pwd
/root

 

4. cd

切換目錄

例項1:切換至/tmp目錄下

[[email protected] ~]# cd /tmp
[[email protected] tmp]# pwd
/tmp

例項2:切換至上次所處的目錄

[[email protected] tmp]# cd -
/root
[[email protected] ~]# pwd
/root

例項3:切換至上級目錄

[[email protected] ~]# mkdir -p /1/2/3
[[email protected] ~]# cd /1/2/3
[[email protected] 3]# cd ..
[[email protected] 2]# pwd
/1/2

例項4:切換至家目錄(或者一個cd也可以)

[[email protected] 2]# cd ~
[[email protected] ~]# pwd
/root

 

5. mkdir

建立目錄

常用選項:

-p: 根據需要建立父目錄

例項1:

[[email protected] ~]# mkdir ken
[[email protected] ~]# ls -ld ken
drwxr-xr-x 2 root root 6 Jan 13 11:10 ken

例項2:

[[email protected] ~]# mkdir /2/3/2 -p
[[email protected] ~]# ls -ld /2/3/2/
drwxr-xr-x 2 root root 6 Jan 13 11:11 /2/3/2/

 

6.echo

輸出並顯示一行文字

常用選項:

-e: 允許對下面列出的加反斜線轉義的字元進行解釋.

例項1:

[[email protected] ~]# echo "this is ken"
this is ken

例項2:

\n換行符,如果不加-e不能進行解釋,會當做普通字元進行輸出

[[email protected] ~]# echo "this is ken \nnice to meet you"
this is ken \nnice to meet you
[[email protected] ~]# echo -e "this is ken \nnice to meet you"
this is ken 
nice to meet you

例項3:輸出顏色

[[email protected] ~]# echo -e "\033[32mthis is ken \nnice to meet you\033[0m"
this is ken 
nice to meet you

 

7.touch

修改時間戳

平時都是用來建立普通檔案

例項1:

[[email protected] ~]# touch test
[[email protected] ~]# ls -l test
-rw-r--r-- 1 kl root 1116 Jan 13 11:16 test

 

8.cp

複製檔案和目錄

常用選項:

-p: 保持屬性不變

-r: 遞迴複製目錄

-a: 複製時,儘可能保持檔案的結構和屬性. 等同於 -dpR

 

例項1:複製檔案到目錄

[[email protected] ~]# cp t.sh ken

例項2:複製檔案並改名

[[email protected] ~]# cp t.sh test1.sh

例項3:複製目錄

[[email protected] ~]# cp -a ken ken1
[[email protected] ~]# cp -r ken ken2

例項4:複製多個檔案到目錄

[[email protected] ~]# cp test test1.sh test.sh ken
[[email protected] ~]# ls ken
test  test1.sh  test.sh  t.sh

 

9.mv

移動 (改名) 檔案

例項1:移動檔案到目錄

[[email protected] ~]# mv k ken

例項2:移動多個檔案到目錄

[[email protected] ~]# mv {1..4}.sh ken

例項3: 改名

[[email protected] ~]# mv ken ken3

 

10.rm

移除檔案或者目錄

常用選項:

-f:  不作確認提示

-r:  或者 -R 遞迴地移除目錄樹

例項1:刪除一個檔案

[[email protected] ~]# rm test
rm: remove regular file ‘test’? y

例項2:強制刪除檔案(不提示)

[[email protected] ~]# rm -f test1.sh 

例項3:刪除目錄

[[email protected] ~]# rm ken2
rm: cannot remove ‘ken2’: Is a directory
[[email protected] ~]# rm -rf ken2

 

11.rmdir

刪除空目錄

[[email protected] ~]# rmdir 1.txt
[[email protected] ~]# rmdir ken3
rmdir: failed to remove ‘ken3’: Directory not empty

 

12. cat

連線檔案並在標準輸出上輸出(用於內容較少的)

常用選項:

-n: 輸出行號

例項1:

[[email protected] ~]# 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

例項2:

[[email protected] ~]# echo "this is the first txt" >1
[[email protected] ~]# echo "this is the second txt" >2
[[email protected] ~]# cat 1 2
this is the first txt
this is the second txt

 

13.more

在顯示器上閱讀檔案的過濾器(檢視內容較多的)

more命令會在最下面使用百分比的形式來提示您已經閱讀了多少內容

例項1:

[[email protected] ~]# more /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:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
--More--(52%)

 

14. less

less 與 more 類似,但使用 less 可以隨意瀏覽檔案,而 more 僅能向前移動,卻不能向後移動(pgup鍵),而且 less 在檢視之前不會載入整個檔案

 

15.head

輸出檔案的開始部分(預設前10行)

常用選項:

-n: 指定行

例項1:預設列印十行

[[email protected] ~]# head /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

例項2:指定列印行數量

[[email protected] ~]# head -n 5 /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

[[email protected] ~]# head -5 /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

 

16. tail

輸出檔案的末尾部分(預設十行)

常用選項:

-f: 當檔案增長時,輸出後續新增的資料(持續重新整理)

-n: 指定列印行數量

例項1:

[[email protected] ~]# tail -f t.sh 

例項2:

[[email protected] ~]# tail -n 5 /etc/passwd
lll:x:1003:1003::/root/jjj:/bin/bash
kl:x:1004:1004::/root/kl:/bin/bash
tt:x:450:450::/home/tt:/bin/bash
ken:x:1005:1005::/home/ken:/bin/bash
ttt:x:1006:1006::/home/ttt:/bin/bash

 

17. clear

清屏

快捷鍵ctrl+l

 

18. poweroff

關機

 

19. reboot

重啟