LINUX系統管理命令總結(精華篇)

LINUX系統管理命令總結(精華篇)

一、常用系統工作命令

1.echo命令

echo命令用于在終端輸出字符串或變量提取后的值。

格式為“echo [字符串?|?$變量]”。

[root@goodpython?~]#echo?goodpython.cn

使用$變量的方式提取變量SHELL的值,并將其輸出到屏幕上:

[root@goodpython?~]#echo?$SHELL

/bin/bash

2.date命令

date命令用于顯示及設置系統的時間或日期,格式為“date [選項] [+指定的格式]”。

按照默認格式查看當前系統時間的date命令如下所示:

[root@localhost~]#date

2018年 03月 24日 星期六16:16:47 CST

按照“年-月-日 小時:分鐘:秒”的格式查看當前系統時間的date命令如下所示:

[root@localhost~]# date "+%Y-%m-%d %H:%M:%S"

2018-03-2416:19:27

將系統的當前時間設置為2018年4月1日8點30分的date命令如下所示:

[root@localhost~]# date -s "20180401 8:30:00"

2018年 04月 01日 星期日08:30:00 CST

[root@localhost~]# date

2018年 04月 01日 星期日08:30:06 CST

查看今天是當年中的第幾天。

[root@localhost~]# date "+%j"

083

3.reboot命令

reboot命令用于重啟系統。

4.poweroff命令

poweroff命令用于關閉系統。

5.wget命令

wget命令用于在終端中下載網絡文件,格式為“wget [參數] 下載地址”。

6.ps命令

ps命令用于查看系統中的進程狀態,格式為“ps [參數]”。

查看所有進程:

ps aux

查看系統中所有進程,使用BSD操作格式

ps -le

查看系統中所有進程,使用LINUX標準命令格式

選項:

a:顯示一個終端的所有進程,除了會話引線

u:顯示進程的歸屬用戶及內存的使用情況

x:顯示沒有控制終端的進程

-l:長格式顯示,顯示更加詳細的信息

-e:顯示所有進程,和-A作用一致

Ex:

[root@localhost~]# ps aux

USER??????? PID %CPU %MEM??? VSZ??RSS TTY????? STAT START?? TIME COMMAND

root????????? 1?0.0? 0.5 128108? 5444 ????????Ss?? 15:18?? 0:01 /usr/lib/systemd/sy

root????????? 2?0.0? 0.0????? 0????0 ???????? S??? 15:18??0:00 [kthreadd]

root????????? 3?0.0? 0.0????? 0????0 ???????? S??? 15:18??0:00 [ksoftirqd/0]

root????????? 7?0.0? 0.0????? 0????0 ???????? S??? 15:18??0:00 [migration/0]

上面命令的解釋:

USER??? 該進程是由哪個用戶產生的

PID 進程ID號

%CPU??? 該進程占用CPU資源的百分比,占用越高,進程越耗費資源

%MEM??? 內存占用率

VSZ 虛擬內存使用量(單位是KB)

RSS 占用的實際物理內存量(單位是KB)

TTY 所在終端,其中tty1-tty7代表本地控制臺終端,tty1-tty6是本地的字符界面終端,tty7是圖形終端。pts/0-255代表虛擬終端。

STAT??? 進程狀態?

??? 進程的狀態:

R:運行

S:睡眠

T:停止狀態

s:包含子進程

+:位于后臺

START?? 被啟動的時間

TIME??? 實際使用CPU的時間

COMMAND 命令名稱與參數

[root@localhost~]# ps -le

FS?? UID???PID?? PPID? C PRI?NI ADDR SZ WCHAN? TTY????????? TIME CMD

4S???? 0????? 1?????0? 0? 80?? 0- 32027 ep_pol ???????? 00:00:01 systemd

1S???? 0????? 2?????0? 0? 80?? 0-???? 0 kthrea ???????? 00:00:00 kthreadd

1S???? 0????? 3?????2? 0? 80?? 0-???? 0 smpboo ???????? 00:00:00 ksoftirqd/0

1S???? 0????? 7?????2? 0 -40?? - -????0 smpboo ???????? 00:00:00migration/0

7.top命令

top命令用于動態地監視進程活動與系統負載等信息,其格式為top。

[root@localhost~]# top

top -17:19:53 up? 2:01,? 3 users,?load average: 0.05, 0.03, 0.05

Tasks:185 total,?? 1 running, 184sleeping,?? 0 stopped,?? 0 zombie

%Cpu(s):? 0.0 us,?0.3 sy,? 0.0 ni, 99.7 id,? 0.0 wa,?0.0 hi,? 0.0 si,? 0.0 st

KiBMem :?? 999936 total,? ??97852free,?? 704712 used,?? 197372 buff/cache

KiBSwap:? 2098172 total,? 2092636 free,???? 5536 used.??? 93684 avail Mem

?? PID USER?????PR? NI??? VIRT???RES??? SHR S %CPU %MEM???? TIME+ COMMAND????????

???? 1 root?????20?? 0? 128108??4832?? 3024 S? 0.0?0.5?? 0:01.78 systemd????????

???? 2 root?????20?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.01 kthreadd???????

???? 3 root?????20?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.29 ksoftirqd/0????

???? 7 root?????rt?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.00 migration/0????

???? 8 root?????20?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.00 rcu_bh?????????

???? 9 root?????20?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.97 rcu_sched??????

??? 10 root?????rt?? 0?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.10 watchdog/0?????

??? 12 root?????? 0 -20?????? 0?????0????? 0 S? 0.0?0.0?? 0:00.00 khelper? ??

top命令執行結果的前5行為系統整體的統計信息,其所代表的含義如下:

?第1行:系統時間、運行時間、登錄終端數、系統負載(三個數值分別為1分鐘、5分鐘、15分鐘內的平均值,數值越小意味著負載越低)。

第2行:進程總數、運行中的進程數、睡眠中的進程數、停止的進程數、僵死的進程數。

?第3行:用戶占用資源百分比、系統內核占用資源百分比、改變過優先級的進程資源百分比、空閑的資源百分比等。

第4行:物理內存總量、內存使用量、內存空閑量、作為內核緩存的內存量。

?第5行:虛擬內存總量、虛擬內存使用量、虛擬內存空閑量、已被提前加載的內存量。

8.pidof命令

pidof命令用于查詢某個指定服務進程的PID值,格式為“pidof [參數]

[服務名稱]”。

查詢本機上sshd服務程序的PID:

[root@localhost~]# pidof sshd

4248 991

9.kill命令

kill命令用于終止某個指定PID的服務進程,格式為“kill [參數] [進程PID]”。

[root@goodpython?~]#?kill?4248

10.killall命令

killall命令用于終止某個指定名稱的服務所對應的全部進程,格式為:“killall [參數] [進程名稱]”。

11.vmstat命令

vmstat命令監控系統資源

[root@yunkzbd~]# vmstat 1 3

procs-----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

?r?b?? swpd?? free??buff? cache?? si??so??? bi??? bo??in?? cs us sy id wa st

?0?0????? 0 5556896?? 1156 9091336??? 0???0???? 1???? 4???4??? 0? 0? 0100? 0?0

?0?0????? 0 5556880?? 1156 9091352??? 0???0???? 0???? 0?120? 225?0? 0100? 0?0

?0?0????? 0 5556812?? 1156 9091352

上面命令解釋:

procs:進程信息字段

r:等待運行的進程數,數量越大,系統越忙

b:不可被喚醒的進程數量,數量越大,系統越繁忙

memory:內存信息字段

swpd:虛擬內存的使用情況,單位KB。

free:空閑的內存容量,單位KB。

buff:緩沖的內存容量,單位KB。

cache:緩存的內存容量,單位KB。

******

緩存和緩沖的區別

緩存cache是用來加速數據從硬盤中“讀取”的

緩沖buffer是用來加速數據“寫入”硬盤的。

******

swap:交換分區的信息字段:

si:從磁盤中交換到內存中數據的數量,單位KB。

so:從內存中交換到磁盤中的數據的數量,單位KB。

此兩個數越大,證明數據需要經常在磁盤間和內存之間交換,系統性能越差。

io:磁盤讀寫信息字段:

bi:從塊設備讀入數據的總量,單位是塊。

bo:寫到塊設備的數據的總量,單位是塊。

以上兩值越大,代表系統i/o越繁忙。

system:系統信息字段:

in:每秒被中斷的進程次數。

cs:每秒鐘進行的事件切換次數。

以上兩值越大,代表系統與接口設備的通信非常繁忙。

CPU:CPU信息字段:

us:非內核進程消耗CPU運算時間的百分比。

sy:內核進程消耗CPU運算時間的百分比。

id:空閑CPU的百分比。

wa:等待I/O所消耗的CPU百分比。

st:被虛擬機所盜用的CPU占比。

12.?dmesg命令

開機時內核檢測信息

[root@yunkzbd~]# dmesg | grep CPU

二、系統狀態檢測命令

1.ifconfig命令

ifconfig命令用于獲取網卡配置與網絡狀態等信息,格式為“ifconfig [網絡設備] [參數]”。

[root@yunkzbd~]# ifconfig

enp7s0f0:flags=4163? mtu 1500

??????? inet 192.168.150.121? netmask 255.255.255.0? broadcast 192.168.150.255

??????? inet6 fe80::fc6f:1c56:249c:1a4? prefixlen 64?scopeid 0x20

??????? ether f8:0f:41:f2:29:b0? txqueuelen 1000? (Ethernet)

??????? RX packets 3536883? bytes 4719325963 (4.3 GiB)

??? ????RX errors 0?dropped 250? overruns 0? frame 0

??????? TX packets 1125444? bytes 254325129 (242.5 MiB)

??????? TX errors 0? dropped 0 overruns 0? carrier 0?collisions 0

??????? device memory 0xfbc20000-fbc3ffff?

enp7s0f1:flags=4099?mtu 1500

??????? ether f8:0f:41:f2:29:b1? txqueuelen 1000? (Ethernet)

??????? RX packets 0? bytes 0 (0.0 B)

??????? RX errors 0? dropped 0?overruns 0? frame 0

??????? TX packets 0? bytes 0 (0.0 B)

??????? TX errors 0? dropped 0 overruns 0? carrier 0?collisions 0

??????? device memory 0xfbc00000-fbc1ffff?

enp9s0:flags=4099?mtu 1500

??????? ether f8:0f:41:f2:29:af? txqueuelen 1000? (Ethernet)

??????? RX packets 0? bytes 0 (0.0 B)

??????? RX errors 0? dropped 0?overruns 0? frame 0

??????? TX packets 0? bytes 0 (0.0 B)

??????? TX errors 0? dropped 0 overruns 0? carrier 0?collisions 0

??????? device interrupt 16? memory 0xfbb00000-fbb20000?

lo:flags=73? mtu65536

??????? inet 127.0.0.1? netmask 255.0.0.0

??????? inet6 ::1? prefixlen 128?scopeid 0x10

??????? loop?txqueuelen 1? (Local Loopback)

??????? RX packets 528388? bytes 70662683 (67.3 MiB)

??????? RX errors 0? dropped 0?overruns 0? frame 0

??????? TX packets 528388? bytes 70662683 (67.3 MiB)

??????? TX errors 0? dropped 0 overruns 0? carrier 0?collisions 0

virbr0:flags=4099?mtu 1500

??????? inet 192.168.122.1? netmask 255.255.255.0? broadcast 192.168.122.255

??????? ether 52:54:00:24:f3:f9? txqueuelen 1000? (Ethernet)

??????? RX packets 0? bytes 0 (0.0 B)

??????? RX errors 0? dropped 0?overruns 0? frame 0

??????? TX packets 0? bytes 0 (0.0 B)

??????? TX errors 0? dropped 0 overruns 0? carrier 0?collisions 0

2.uname命令

uname命令用于查看系統內核與系統版本等信息,格式為“uname [-a]”。

搭配上-a參數來完整地查看當前系統的內核名稱、主機名、內核發行版本、節點名、系統時間、硬件名稱、硬件平臺、處理器類型以及操作系統名稱等信息。

[root@yunkzbd~]# uname -a

Linuxyunkzbd 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64x86_64 GNU/Linux

3.uptime命令

uptime用于查看系統的負載信息,格式為uptime。

負載值越低越好,盡量不要長期超過1,在生產環境中不要超過5。

[root@yunkzbd~]# uptime

?07:58:55 up 8 days, 17:31,? 3 users,?load average: 0.00, 0.01, 0.05

4.free命令

free用于顯示當前系統中內存的使用量信息,格式為“free [-h]”。

[root@yunkzbd~]# free -h

????????????? total??????? used??????? free????? shared?buff/cache?? available

Mem:??????????? 15G??????? 1.5G??????? 6.1G??????? 815M??????? 7.8G???????? 12G

Swap:????????? 7.8G????????? 0B??????? 7.8G

5.who命令

who用于查看當前登入主機的用戶終端信息,格式為“who [參數]”。

這三個簡單的字母可以快速顯示出所有正在登錄本機的用戶的名稱以及他們正在開啟的終端信息。表2-9所示為執行who命令后的結果。

[root@goodpython?~]#?who

[root@yunkzbd~]# who

root???? :0?????????? 2018-03-22 09:20 (:0)

root???? pts/0??????? 2018-03-26 07:42 (192.168.150.92)

root???? pts/1??????? 2018-03-22 15:37 (:0)

6.last命令

last命令用于查看所有系統的登錄記錄,格式為“last [參數]”。

7.history命令

history命令用于顯示歷史執行過的命令,格式為“history [-c]”。

最近1000條命令記錄。

[root@yunkzbd~]# history

??? 1? ls

??? 2?yum install tigervnc tigervnc-server

??? 3? cd/lib

??? 4? ls

??? 5? cdsystemd

??? 6? ls

??? 7? cdsystem

??? 8? ls

??? 9? cdvncserver@.service

?? 10? vivncserver@.service

?? 11? cp/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

?? 12? cd/

[root@yunkzbd~]#?cat?~/.bash_history

要清空當前用戶在本機上執行的Linux命令歷史記錄信息,可執行如下命令

[root@yunkzbd~]#?history?-c

8.sosreport命令

sosreport命令用于收集系統配置及架構信息并輸出診斷文檔,格式為sosreport。

三、工作目錄切換命令

1.pwd命令

pwd命令用于顯示用戶當前所處的工作目錄,格式為“pwd [選項]”。

[root@yunkzbdmoonyun]# pwd

/home/moonyun

2.cd命令

cd命令用于切換工作路徑,格式為“cd [目錄名稱]”。

使用“cd -”命令返回到上一次所處的目錄

使用“cd..”命令進入上級目錄

使用“cd ~”命令切換到當前用戶的家目錄

使用“cd ~username”切換到其他用戶的家目錄。

3.ls命令

ls命令用于顯示目錄中的文件信息,格式為“ls [選項] [文件] ”。

使用ls命令的“-a”參數看到全部文件(包括隱藏文件)

使用“-l”參數可以查看文件的屬性、大小等詳細信息

將這兩個參數整合之后,再執行ls命令即可查看當前目錄中的所有文件并輸出這些文件的屬性信息:

[root@yunkzbdmoonyun]# ls -al

總用量4

drwxr-xr-x.10 root root? 168 3月? 10 15:37 .

drwxr-xr-x.? 4 root root??36 3月? 10 09:11 ..

drwx------.? 3 root root??73 3月? 17 14:29 ccnet

drwx------.? 2 root root?117 3月? 14 09:15 conf

drwxr-xr-x.? 2 root root??48 3月? 10 15:26 installed

drwxr-xr-x.? 2 root root?115 3月? 10 15:38 logs

drwxr-xr-x.?2 root root?? 46 3月? 17 14:29 pids

drwx------.? 8 root root?102 3月? 10 15:37 seafile-data

drwxr-xr-x.? 6 root root 4096 3月? 13 14:25seafile-server-6.2.5

lrwxrwxrwx.? 1 root root??20 3月? 10 15:32seafile-server-latest -> seafile-server-6.2.5

drwxr-xr-x.? 5 root root??52 3月? 12 11:50 seahub-data

如果想要查看目錄屬性信息,則需要額外添加一個-d參數。例如,可使用如下命令查看/etc目錄的權限與屬性信息:

[root@yunkzbdmoonyun]# ls -ld

drwxr-xr-x.

10 root root 168 3月? 10 15:37 .

四、文本文件編輯命令

1.cat命令

cat命令用于查看純文本文件(內容較少的),格式為“cat [選項] [文件]”。

在cat命令后面追加一個-n參數以顯示行號。

[root@yunkzbdconf]# cat seafile.conf -n

???? 1? [fileserver]

???? 2? port= 8082

???? 3?

???? 4? [database]

???? 5? type= mysql

???? 6? host= 127.0.0.1

???? 7? port= 3306

???? 8? user= myseafiledb

???? 9? password= 654312

??? 10? db_name= seafile-db

??? 11? connection_charset= utf8

12?

2.more命令

more命令用于查看純文本文件(內容較多的),格式為“more [選項]文件”。

?[root@yunkzbd logs]# more seafile.log

[03/10/1815:37:31] http-server.c(161): fileserver: worker_threads = 10

[03/10/1815:37:31] http-server.c(176): fileserver: fixed_block_size = 8388608

[03/10/1815:37:31] http-server.c(191): fileserver: web_token_expire_time = 3600

[03/10/1815:37:31] http-server.c(206): fileserver: max_indexing_threads = 1

[03/10/201803:37:32 PM] ../common/mq-mgr.c(54): [mq client] mq cilent is started

……

[03/10/201807:02:33 PM] size-sched.c(96): Repo size compute queue size is 0

[03/10/201807:07:33 PM] size-sched.c(96): Repo size compute queue size is 0

--More--(1%)

3.head命令

head命令用于查看純文本文檔的前N行,格式為“head [選項] [文件]”。

[root@yunkzbdconf]# head -n 10 httpd.conf

#

# Thisis the main Apache HTTP server configuration file.? It contains the

#configuration directives that give the server its instructions.

# See for detailed information.

# Inparticular, see

#

# fora discussion of each configuration directive.

#

# DoNOT simply read the instructions in here without understanding

# whatthey do.? They're here only as hints orreminders.? If you are unsure

[root@yunkzbdconf]#

4.tail命令

tail命令用于查看純文本文檔的后N行或持續刷新內容,格式為“tail [選項] [文件]”

當想要實時查看最新日志文件時的命令格式為“tail -f 文件名”

[root@yunkzbdconf]# tail -f /var/log/messages

Mar 2609:07:02 yunkzbd kernel: EDAC MC0: 95 CE memory read error onCPU_SrcID#0_Ha#0_Chan#3_DIMM#0 (channel:3 slot:0 page:0x77c04 offset:0x2c0grain:32 syndrome:0x0 -? OVERFLOWarea:DRAM err_code:0001:0093 socket:0 ha:0 channel_mask:8 rank:0)

Mar 2609:07:02 yunkzbd kernel: EDAC MC0: 51 CE memory read error onCPU_SrcID#0_Ha#0_Chan#3_DIMM#0 (channel:3 slot:0 page:0x468c10 offset:0xc0grain:32 syndrome:0x0 -? OVERFLOWarea:DRAM err_code:0001:0093 socket:0 ha:0 channel_mask:8 rank:0)

5.tr命令

tr命令用于替換文本文件中的字符,格式為“tr [原始字符] [目標字符]”。

把某個文本內容中的英文全部替換為大寫:

6.wc命令

wc命令用于統計指定文本的行數、字數、字節數,格式為“wc [參數] 文本”。

[root@yunkzbdconf]# wc -l httpd.conf

353httpd.conf

-l只顯示行數

[root@yunkzbdconf]# wc -l -c httpd.conf

? 353 11753 httpd.conf

-w只顯示單詞數

-c只顯示字節數

7.stat命令

stat命令用于查看文件的具體存儲信息和時間等信息,格式為“stat 文件名稱”。

[root@yunkzbdconf]# stat httpd.conf

? 文件:"httpd.conf"

? 大小:11753???? ? 塊:24???????? IO塊:4096?? 普通文件

設備:fd00h/64768d Inode:1431730???? 硬鏈接:1

權限:(0644/-rw-r--r--)? Uid:(??? 0/??? root)??Gid:(???0/??? root)

環境:system_u:object_r:httpd_config_t:s0

最近訪問:2018-03-26 09:04:57.830567327 +0800

最近更改:2017-10-20 00:44:27.000000000 +0800

最近改動:2018-03-10 15:17:59.211444708 +0800

創建時間:-

[root@yunkzbdconf]#

8.cut命令

cut命令用于按“列”提取文本字符,格式為“cut [參數] 文本”。

使用-f參數來設置需要看的列數,

使用-d參數來設置間隔符號。passwd在保存用戶數據信息時,用戶信息的每一項值之間是采用冒號來間隔的,接下來我們使用下述命令嘗試提取出passwd文件中的用戶名信息,即提取以冒號(:)為間隔符號的第一列內容:

[root@yunkzbdconf]# head -n 2 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

[root@yunkzbdconf]# cut -d: -f1 /etc/passwd

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

operator

games

ftp

nobody

systemd-bus-proxy

systemd-network

dbus

polkitd

abrt

unbound

tss

libstoragemgmt

rpc

colord

usbmuxd

saslauth

geoclue

rtkit

rpcuser

nfsnobody

radvd

qemu

ntp

chrony

setroubleshoot

sssd

pulse

gdm

gnome-initial-setup

sshd

avahi

postfix

tcpdump

ordkzbd

mysql

apache

9.diff命令

diff命令用于比較多個文本文件的差異,格式為“diff [參數] 文件”。

五、文件目錄管理命令

1.touch命令

touch命令用于創建空白文件或設置文件的時間,格式為“touch [選項] [文件]”。

2.mkdir命令

mkdir命令用于創建空白的目錄,格式為“mkdir [選項] 目錄”。

在Linux系統中,文件夾是最常見的文件類型之一。除了能創建單個空白目錄外,mkdir命令還可以結合-p參數來遞歸創建出具有嵌套疊層關系的文件目錄。

[root@yunkzbdgood]# mkdir -p a/b/c/d

3.cp命令

cp命令用于復制文件或目錄,格式為“cp [選項] 源文件 目標文件”。

在Linux系統中,復制操作具體分為3種情況:

?? 如果目標文件是目錄,則會把源文件復制到該目錄中;

?? 如果目標文件也是普通文件,則會詢問是否要覆蓋它;

?? 如果目標文件不存在,則執行正常的復制操作。

cp命令的參數及其作用

-p? 保留原始文件的屬性

-d? 若對象為“鏈接文件”,則保留該“鏈接文件”的屬性

-r? 遞歸持續復制(用于目錄)

-I?若目標文件存在則詢問是否覆蓋

-a? 相當于-pdr(p、d、r為上述參數)

4.mv命令

mv命令用于剪切文件或將文件重命名,格式為“mv [選項] 源文件 [目標路徑|目標文件名]”。

如果在同一個目錄中對一個文件進行剪切操作,其實也就是對其進行重命名:

5.rm命令

rm命令用于刪除文件或目錄,格式為“rm [選項] 文件”。

rm命令后跟上-f參數來強制刪除

要刪除一個目錄,需要在rm命令后面一個-r參數才可以,否則刪除不掉。

6.dd命令

dd命令用于按照指定大小和個數的數據塊來復制文件或轉換文件,格式為“dd [參數]”。

dd?命令的參數及其作用

if?輸入的文件名稱

of?輸出的文件名稱

bs?設置每個“塊”的大小

count?設置要復制“塊”的個數

用dd命令從/dev/zero設備文件中取出一個大小為240MB的數據塊,然后保存成名為outputme.txt的文件:

[root@yunkzbd~]# dd if=/dev/zero of=outputme.txt count=1 bs=240M

記錄了1+0 的讀入

記錄了1+0 的寫出

251658240字節(252 MB)已復制,0.99164 秒,254 MB/秒

7.file命令

file命令用于查看文件的類型,格式為“file 文件名”。

在Linux系統中,由于文本、目錄、設備等所有這些一切都統稱為文件,而我們又不能單憑后綴就知道具體的文件類型,這時就需要使用file命令來查看文件類型了。

六、打包壓縮與搜索命令

1.tar命令

tar命令用于對文件進行打包壓縮或解壓,格式為“tar [選項] [文件]”。

tar命令的參數及其作用:

-c? 創建壓縮文件

-x? 解開壓縮文件

-t? 查看壓縮包內有哪些文件

-z? 用Gzip壓縮或解壓

-j? 用bzip2壓縮或解壓

-v? 顯示壓縮或解壓的過程

-f? 目標文件名

-p? 保留原始的權限與屬性

-P? 使用絕對路徑來壓縮

-C? 指定解壓到的目錄

一般使用“tar -czvf 壓縮包名稱.tar.gz 要打包的目錄”

解壓命令為“tar -xzvf 壓縮包名稱.tar.gz”

2.grep命令

grep命令用于在文本中執行關鍵詞搜索,并顯示匹配的結果,格式為“grep [選項] [文件]”。

兩個最最常用的參數:

-n參數用來顯示搜索到信息的行號;

-v參數用于反選信息(即沒有包含關鍵詞的所有信息行)。

在Linux系統中,/etc/passwd文件是保存著所有的用戶信息,而一旦用戶的登錄終端被設置成/sbin/nologin,則不再允許登錄系統,因此可以使用grep命令來查找出當前系統中不允許登錄系統的所有用戶信息:

[[root@yunkzbda]# grep /sbin/nologin /etc/passwd

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

3.find命令

find命令用于按照指定條件來查找文件,格式為“find [查找路徑] 尋找條件 操作”。

find命令中的參數以及作用:

-name?? 匹配名稱

-perm?? 匹配權限(mode為完全匹配,-mode為包含即可)

-user? 匹配所有者

-group? 匹配所有組

-mtime-n +n?? 匹配修改內容的時間(-n指n天以內,+n指n天以前)

-atime-n +n?? 匹配訪問文件的時間(-n指n天以內,+n指n天以前)

-ctime-n +n?? 匹配修改文件權限的時間(-n指n天以內,+n指n天以前)

-nouser 匹配無所有者的文件

-nogroup?? 匹配無所有組的文件

-newerf1 !f2? 匹配比文件f1新但比f2舊的文件

--typeb/d/c/p/l/f 匹配文件類型(后面的字母參數依次表示塊設備、目錄、字符設備、管道、鏈接文件、文本文件)

-size?? 匹配文件的大小(+50KB為查找超過50KB的文件,而-50KB為查找小于50KB的文件)

-prune? 忽略某個目錄

-exec ……{}\; 后面可跟用于進一步處理搜索結果的命令

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,572評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,071評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,409評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,569評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,360評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,895評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,979評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,123評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,643評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,559評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,742評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,250評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,981評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,363評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,622評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,354評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,707評論 2 370

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,414評論 9 467
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,193評論 2 33
  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,043評論 6 13
  • 1.命令格式:ifconfig [網絡設備] [參數] 2.命令功能: ifconfig 命令用來查看和配置網絡設...
    Nuuuu閱讀 3,772評論 0 12
  • 隨著一點一點長大,四季的感受也變得明顯,夏天熱的發瘋,喜歡不喜歡的感覺被壓制,冬天,冷的要死,所有的感官都在釋放,...
    流年的小風閱讀 175評論 0 0