單用戶操做系統:指一臺計算機在同一時間 只能由一個用戶 使用,一個用戶獨自享用系統的所有硬件和軟件資源php
Windows XP
以前的版本都是單用戶操做系統多用戶操做系統:指一臺計算機在同一時間能夠由 多個用戶 使用,多個用戶共同享用系統的所有硬件和軟件資源linux
Unix
和 Linux
的設計初衷就是多用戶操做系統root@toby:/# ll
total 92
drwxr-xr-x 22 root root 4096 Jun 3 16:38 ./
drwxr-xr-x 22 root root 4096 Jun 3 16:38 ../
drwxr-xr-x 2 root root 4096 Apr 8 2018 bin/
drwxr-xr-x 3 root root 4096 Apr 8 2018 boot/
drwxr-xr-x 19 root root 3740 Jun 3 16:38 dev/
drwxr-xr-x 88 root root 4096 Jun 3 16:38 etc/
drwxr-xr-x 2 root root 4096 Apr 13 2016 home/
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img -> boot/initrd.img-4.4.0-117-generic
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img.old -> boot/initrd.img-4.4.0-116-generic
drwxr-xr-x 20 root root 4096 Mar 26 2018 lib/
drwxr-xr-x 2 root root 4096 Mar 26 2018 lib64/
drwx------ 2 root root 16384 Mar 26 2018 lost+found/
drwxr-xr-x 4 root root 4096 Mar 26 2018 media/
drwxr-xr-x 2 root root 4096 Aug 1 2017 mnt/
drwxr-xr-x 2 root root 4096 Aug 1 2017 opt/
dr-xr-xr-x 98 root root 0 Jun 3 16:38 proc/
drwx------ 7 root root 4096 Jun 3 16:38 root/
drwxr-xr-x 19 root root 620 Jun 3 16:50 run/
drwxr-xr-x 2 root root 12288 Apr 8 2018 sbin/
drwxr-xr-x 2 root root 4096 Aug 1 2017 srv/
dr-xr-xr-x 13 root root 0 Jun 4 2019 sys/
drwxrwxrwt 7 root root 4096 Jun 3 16:45 tmp/
drwxr-xr-x 10 root root 4096 Mar 26 2018 usr/
drwxr-xr-x 11 root root 4096 Mar 26 2018 var/
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz -> boot/vmlinuz-4.4.0-117-generic
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz.old -> boot/vmlinuz-4.4.0-116-generic
複製代碼
/home
,實際上是在告訴電腦,先從 /(根目錄)開始,再進入到 home
目錄ls
、tar
、mv
、cat
等linux
系統啓動時用到的一些文件,如 linux
的內核文件:/boot/vmlinuz
,系統引導管理器:/boot/grub
linux
系統下的設備文件,訪問該目錄下某個文件,至關於訪問某個設備,經常使用的是掛載光驅mount
/dev/cdrom
/mnt
/etc/inittab
/etc/fstab
/etc/init.d
/etc/X11
/etc/sysconfig
/etc/xinetd.d
/mnt/cdrom
下,也不必定,能夠選擇任意位置進行掛載/proc/cpuinfo
、/proc/interrupts
、/proc/dma
、/proc/ioports
、/proc/net/*
等fdisk
、shutdown
、mount
等。與 /bin
不一樣的是,這幾個目錄是給系統管理員 root
使用的命令,通常用戶只能"查看"而不能設置和使用www
服務須要訪問的網頁數據存放在 /srv/www
內windows
下的Program Files
目錄。
/usr/bin
:存放應用程序/usr/share
:存放共享數據/usr/lib
:存放不能直接運行的,倒是許多程序運行所必需的一些函數庫文件/usr/local
:存放軟件升級包/usr/share/doc
:系統說明文件存放目錄/usr/share/man
:程序說明文件存放目錄Linux
下的一些日誌文件,在實際開發的時候有一些公司也習慣把Apache
或者nginx
的站點目錄也會放到這個目錄中。
/var/log
:隨時更改的日誌文件/var/spool/mail
:郵件存放的目錄/var/run
:程序或服務啓動後,其 PID 存放在該目錄下root@toby:/#
複製代碼
root
: 當前登陸的用戶@
: 表示在toby
: 當前的主機名稱/
: 當前的工做目錄#
: 當前用戶的身份注意:ios
在Linux中
#
表示超級管理員,$
表示普通用戶nginx
command [-options] [parameter]
複製代碼
說明:正則表達式
[] 表明可選apache
command --help
複製代碼
說明:vim
man command
複製代碼
說明:windows
man 是 manual 的縮寫,是 Linux 提供的一個 手冊,包含了絕大部分的命令、函數的詳細使用說明bash
使用 man 時的操做鍵:網絡
操做鍵 | 功能 |
---|---|
空格鍵 | 顯示手冊頁的下一屏 |
Enter 鍵 | 一次滾動手冊頁的一行 |
b | 回滾一屏 |
f | 前滾一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
Linux
文件 或者 目錄 名稱最長能夠有 256
個字符.
開頭的文件爲隱藏文件,須要用 -a
參數才能顯示.
表明當前目錄..
表明上一級目錄語法格式:
# 指令名稱 [選項] [操做的目標]
其中[]
表示可選
基礎指令
ls [路徑]
表示列出指定路徑下的文件夾和文件的名字,若是路徑沒有指定則列出當前路徑下的(list)
root@toby:~# cd /
root@toby:/# ls
bin etc initrd.img.old lost+found opt run sys var
boot home lib media proc sbin tmp vmlinuz
dev initrd.img lib64 mnt root srv usr vmlinuz.old
複製代碼
ls -l [路徑]
表示以列表的形式列出指定路徑下的文件夾和文件的名字
參數 | 含義 |
---|---|
-a | 顯示指定目錄下全部子目錄與文件,包括隱藏文件 |
-l | 以列表方式顯示文件的詳細信息 |
-h | 配合 -l 以人性化的方式顯示文件大小 |
root@toby:/# ls -l
total 84
drwxr-xr-x 2 root root 4096 Apr 8 2018 bin
drwxr-xr-x 3 root root 4096 Apr 8 2018 boot
drwxr-xr-x 19 root root 3740 Jun 3 16:38 dev
drwxr-xr-x 88 root root 4096 Jun 3 16:38 etc
drwxr-xr-x 2 root root 4096 Apr 13 2016 home
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img -> boot/initrd.img-4.4.0-117-generic
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img.old -> boot/initrd.img-4.4.0-116-generic
drwxr-xr-x 20 root root 4096 Mar 26 2018 lib
drwxr-xr-x 2 root root 4096 Mar 26 2018 lib64
drwx------ 2 root root 16384 Mar 26 2018 lost+found
drwxr-xr-x 4 root root 4096 Mar 26 2018 media
drwxr-xr-x 2 root root 4096 Aug 1 2017 mnt
drwxr-xr-x 2 root root 4096 Aug 1 2017 opt
dr-xr-xr-x 96 root root 0 Jun 3 16:38 proc
drwx------ 7 root root 4096 Jun 3 17:01 root
drwxr-xr-x 19 root root 620 Jun 3 23:34 run
drwxr-xr-x 2 root root 12288 Apr 8 2018 sbin
drwxr-xr-x 2 root root 4096 Aug 1 2017 srv
dr-xr-xr-x 13 root root 0 Jun 3 16:50 sys
drwxrwxrwt 7 root root 4096 Jun 3 23:35 tmp
drwxr-xr-x 10 root root 4096 Mar 26 2018 usr
drwxr-xr-x 11 root root 4096 Mar 26 2018 var
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz -> boot/vmlinuz-4.4.0-117-generic
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz.old -> boot/vmlinuz-4.4.0-116-generic
root@toby:/#
複製代碼
ls -la [路徑]
通配符 | 含義 |
---|---|
* | 表明任意個數個字符 |
? | 表明任意一個字符,至少 1 個 |
[] | 表示能夠匹配字符組中的任一一個 |
[abc] | 匹配 a、b、c 中的任意一個 |
[a-f] | 匹配從 a 到 f 範圍內的的任意一個字符 |
清屏, 把內容頂上去了
快捷鍵: ctrl+l
切換用戶(switch user)
語法格式: #su 須要切換到的用戶名(用戶名能夠不寫,則表示切換到root用戶)
高權限往低切, 不須要密碼. 低權限往高切, 須要密碼. 而且只在當前的命令終端中. 其餘地方不變
cd
是英文單詞 change directory
的簡寫,其功能爲更改當前的工做目錄,也是用戶最經常使用的命令之一
注意:
Linux
全部的 目錄 和 文件名 都是大小寫敏感的
cd 須要切換到的路徑(路徑能夠是相對路徑,也能夠是絕對路徑)
複製代碼
路徑能夠寫也能夠不寫,不寫則表示切換到當前用戶的家目錄。
注意:
低級用戶沒有訪問高級用戶的權限
相對路徑: 不以/
開頭 絕對路徑: 以/
開頭
命令 | 含義 |
---|---|
cd | 切換到當前用戶的主目錄(/home/用戶目錄) |
cd ~ | 切換到當前用戶的主目錄(/home/用戶目錄) |
cd . | 保持在當前目錄不變 |
cd .. | 切換到上級目錄 |
cd - | 能夠在最近兩次工做目錄之間來回切換 |
打印當前的路徑, 告訴咱們當前在哪
語法: touch 路徑+文件名
建立一個新的目錄
mkdir 路徑+文件夾
複製代碼
選項 | 含義 |
---|---|
-p | 能夠遞歸建立目錄 |
序號 | 命令 | 對應英文 | 做用 |
---|---|---|---|
01 | tree [目錄名] | tree | 以樹狀圖列出文件目錄結構 |
02 | cp 源文件 目標文件 | copy | 複製文件或者目錄 |
03 | mv 源文件 目標文件 | move | 移動文件或者目錄/文件或者目錄重命名 |
tree
命令能夠以樹狀圖列出文件目錄結構
選項 | 含義 |
---|---|
-d | 只顯示目錄 |
cp
命令的功能是將給出的 文件 或 目錄 複製到另外一個 文件 或 目錄 中,至關於 DOS
下的 copy
命令
copy [-r] 要賦值的文件或者文件夾的路徑 指定的路徑` 可重命名
複製代碼
選項 | 含義 |
---|---|
-i | 覆蓋文件前提示 |
-r | 若給出的源文件是目錄文件,則 cp 將遞歸複製該目錄下的全部子目錄和文件,目標文件必須爲一個目錄名 |
# 不會改變名稱
root@toby:/# cp /php.txt /home/admin/
# 會改變名稱
root@toby:/# cp /php.txt /home/admin/php2.txt
複製代碼
mv
命令能夠用來 移動 文件 或 目錄,也能夠給 文件或目錄重命名
選項 | 含義 |
---|---|
-i | 覆蓋文件前提示 |
# 移動文件
root@toby:/# mv /home/admin/php.txt /root/
# 重命名
root@toby:/# mv /root/php.txt /root/php.doc
複製代碼
注意: 若是不改變名稱 最後文件夾的後面的
/
必定要寫, 不然會重命名
刪除文件或目錄
rm [-rf] 須要刪除的文檔
複製代碼
選項 | 含義 |
---|---|
-f | 強制刪除,忽略不存在的文件,無需提示 |
-r | 遞歸地刪除目錄下的內容,刪除文件夾 時必須加此參數 |
使用
rm
命令要當心,由於文件刪除後不能恢復
序號 | 命令 | 對應英文 | 做用 |
---|---|---|---|
01 | tail 文件的路徑 | tail | 查看一個文件的末n行 |
02 | head 文件的路徑 | head | 查看一個文件的頭n行 |
03 | cat 文件名 | concatenate | 查看文件內容、建立文件、文件合併、追加文件內容等功能 查看某個文件的所有內容(將內容所有輸出在命令行中)(正序) |
04 | tac 文件路徑1 文件路徑2 文件路徑3… | tac | 查看某個文件的所有內容(倒序的) |
05 | more 文件名 | more | 分屏顯示文件內容 |
06 | grep 搜索文本 文件名 | grep | 搜索文本文件內容 |
查看一個文件的末 n
行
tail -n 文件的路徑
複製代碼
選項 | 含義 |
---|---|
-n | -n能夠不寫,不寫,默認表示10行 |
查看文件的頭n行
head -n 文件的路徑
複製代碼
同上 tail
注意:若是不指定-n則默認頭10行
cat 文件路徑1 文件路徑2 文件路徑3 …
複製代碼
cat
命令能夠用來 查看文件內容、建立文件、文件合併、追加文件內容 等功能cat
會一次顯示全部的內容,適合 查看內容較少 的文本文件選項 | 含義 |
---|---|
-b | 對非空輸出行編號 |
-n | 對輸出的全部行編號 |
Linux
中還有一個nl
的命令和cat -b
的效果等價
做用:查看某個文件的所有內容(倒序的)
語法:tac 文件路徑1 文件路徑2 文件路徑3…
能夠同時查看多個文件的內容
more
命令能夠用於分屏顯示文件內容,每次只顯示一頁內容使用 more
的操做鍵:
操做鍵 | 功能 |
---|---|
空格鍵 | 顯示手冊頁的下一屏 |
Enter 鍵 | 一次滾動手冊頁的一行 |
b | 回滾一屏 |
f | 前滾一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
Linux
系統中 grep
命令是一種強大的文本搜索工具grep
容許對文本文件進行 模式查找,所謂模式查找,又被稱爲正則表達式選項 | 含義 |
---|---|
-n | 顯示匹配行及行號 |
-v | 顯示不包含匹配文本的全部行(至關於求反) |
-i | 忽略大小寫 |
參數 | 含義 ^a | 行首,搜尋以 a 開頭的行 ke$ | 行尾,搜尋以 ke 結束的行
echo
會在終端中顯示參數指定的文字,一般會和 重定向 聯合使用
其中
>
表示輸出,會覆蓋文件原有的內容>>
表示追加,會將內容追加到已有文件的末尾經常使用的管道命令有:
more
:分屏顯示內容grep
:在命令執行結果的基礎上查詢指定的文本重啓計算機, 部分狀況(除非自開機以來只有當前一個普通用戶登陸過)下普通用戶沒法執行
做用:關機
語法:shutdown -h 時間
時間常見的值:
關機
做用:du表示directory used,顯示出目錄所佔的磁盤空間大小的狀況。
語法:du -sh 目錄路徑
選項說明:
root@toby:/# du -sh /etc/
4.5M /etc/
root@toby:/# du -s /etc/
4532 /etc/
root@toby:/# ls -l
total 84
drwxr-xr-x 2 root root 4096 Apr 8 2018 bin
drwxr-xr-x 3 root root 4096 Apr 8 2018 boot
drwxr-xr-x 19 root root 3740 Jun 3 16:38 dev
drwxr-xr-x 88 root root 4096 Jun 3 16:38 etc
drwxr-xr-x 2 root root 4096 Apr 13 2016 home
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img -> boot/initrd.img-4.4.0-117-generic
lrwxrwxrwx 1 root root 33 Mar 26 2018 initrd.img.old -> boot/initrd.img-4.4.0-116-generic
drwxr-xr-x 20 root root 4096 Mar 26 2018 lib
drwxr-xr-x 2 root root 4096 Mar 26 2018 lib64
drwx------ 2 root root 16384 Mar 26 2018 lost+found
drwxr-xr-x 4 root root 4096 Mar 26 2018 media
drwxr-xr-x 2 root root 4096 Aug 1 2017 mnt
drwxr-xr-x 2 root root 4096 Aug 1 2017 opt
dr-xr-xr-x 96 root root 0 Jun 3 16:38 proc
drwx------ 7 root root 4096 Jun 3 17:01 root
drwxr-xr-x 19 root root 640 Jun 4 15:16 run
drwxr-xr-x 2 root root 12288 Apr 8 2018 sbin
drwxr-xr-x 2 root root 4096 Aug 1 2017 srv
dr-xr-xr-x 13 root root 0 Jun 3 16:50 sys
drwxrwxrwt 7 root root 4096 Jun 4 15:20 tmp
drwxr-xr-x 10 root root 4096 Mar 26 2018 usr
drwxr-xr-x 11 root root 4096 Mar 26 2018 var
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz -> boot/vmlinuz-4.4.0-117-generic
lrwxrwxrwx 1 root root 30 Mar 26 2018 vmlinuz.old -> boot/vmlinuz-4.4.0-116-generic
複製代碼
注意:
這裏咱們發現經過
ls -l
的命令查看的大小和du -sh
查看的大小不一致, 由於ls -l
只是統計了文件夾的大小, 不包含文件夾裏面的文件
做用:disk free,查看磁盤的剩餘空間的狀況
語法:df -h
或 df -m
選項說明:
做用:查看內存的使用狀況
語法:free -m
或 free -g
選項含義:
root@toby:/# free -m
total used free shared buff/cache available
Mem: 2000 35 1517 2 447 1789
Swap: 0 0 0
root@toby:/#
複製代碼
解釋說明:
第一行表示memory,是內存各項的數字。 其中,若是查看可用的剩餘內存,應該是3527的位置。 若是看的是剩餘的內存,則應該是3725的位置。
做用:表示根據條件去查詢文檔的所在位置。
語法:find 範圍路徑 選項 選項的值
常見的選項:
#find / -name httpd.conf -type f
複製代碼
注意:
-name
選項支持通配符, 好比(*)
假設我須要查詢磁盤中所有的.conf文件 則能夠寫成:#find / -name *.conf -type f
做用:表示process show,查看進程
語法:ps -ef
選項含義:
root@toby:~# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun03 ? 00:00:01 /sbin/init splash
root 2 0 0 Jun03 ? 00:00:00 [kthreadd]
root 3 2 0 Jun03 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 Jun03 ? 00:00:00 [kworker/0:0H]
root 7 2 0 Jun03 ? 00:00:06 [rcu_sched]
root 8 2 0 Jun03 ? 00:00:00 [rcu_bh]
root 9 2 0 Jun03 ? 00:00:00 [migration/0]
root 10 2 0 Jun03 ? 00:00:00 [watchdog/0]
root 11 2 0 Jun03 ? 00:00:00 [kdevtmpfs]
root 12 2 0 Jun03 ? 00:00:00 [netns]
root 13 2 0 Jun03 ? 00:00:00 [perf]
root 14 2 0 Jun03 ? 00:00:00 [khungtaskd]
root 15 2 0 Jun03 ? 00:00:00 [writeback]
root 16 2 0 Jun03 ? 00:00:00 [ksmd]
root 17 2 0 Jun03 ? 00:00:00 [khugepaged]
root 18 2 0 Jun03 ? 00:00:00 [crypto]
root 19 2 0 Jun03 ? 00:00:00 [kintegrityd]
root 20 2 0 Jun03 ? 00:00:00 [bioset]
root 21 2 0 Jun03 ? 00:00:00 [kblockd]
root 22 2 0 Jun03 ? 00:00:00 [ata_sff]
root 23 2 0 Jun03 ? 00:00:00 [md]
root 24 2 0 Jun03 ? 00:00:00 [devfreq_wq]
root 25 2 0 Jun03 ? 00:00:00 [kworker/u2:1]
root 28 2 0 Jun03 ? 00:00:00 [kswapd0]
root 29 2 0 Jun03 ? 00:00:00 [vmstat]
root 30 2 0 Jun03 ? 00:00:00 [fsnotify_mark]
root 31 2 0 Jun03 ? 00:00:00 [ecryptfs-kthrea]
root 47 2 0 Jun03 ? 00:00:00 [kthrotld]
root 48 2 0 Jun03 ? 00:00:00 [acpi_thermal_pm]
root 49 2 0 Jun03 ? 00:00:00 [vballoon]
root 50 2 0 Jun03 ? 00:00:00 [bioset]
root 51 2 0 Jun03 ? 00:00:00 [bioset]
root 52 2 0 Jun03 ? 00:00:00 [bioset]
root 53 2 0 Jun03 ? 00:00:00 [bioset]
root 54 2 0 Jun03 ? 00:00:00 [bioset]
root 55 2 0 Jun03 ? 00:00:00 [bioset]
root 56 2 0 Jun03 ? 00:00:00 [bioset]
root 57 2 0 Jun03 ? 00:00:00 [bioset]
root 58 2 0 Jun03 ? 00:00:00 [bioset]
root 59 2 0 Jun03 ? 00:00:00 [scsi_eh_0]
root 60 2 0 Jun03 ? 00:00:00 [scsi_tmf_0]
root 61 2 0 Jun03 ? 00:00:00 [scsi_eh_1]
root 62 2 0 Jun03 ? 00:00:00 [scsi_tmf_1]
root 68 2 0 Jun03 ? 00:00:00 [ipv6_addrconf]
root 81 2 0 Jun03 ? 00:00:00 [deferwq]
root 82 2 0 Jun03 ? 00:00:00 [charger_manager]
root 117 2 0 Jun03 ? 00:00:00 [bioset]
root 118 2 0 Jun03 ? 00:00:00 [bioset]
root 119 2 0 Jun03 ? 00:00:00 [bioset]
root 120 2 0 Jun03 ? 00:00:00 [bioset]
root 122 2 0 Jun03 ? 00:00:00 [bioset]
root 123 2 0 Jun03 ? 00:00:00 [bioset]
root 124 2 0 Jun03 ? 00:00:00 [bioset]
root 125 2 0 Jun03 ? 00:00:00 [kpsmoused]
root 126 2 0 Jun03 ? 00:00:00 [bioset]
root 127 2 0 Jun03 ? 00:00:00 [ttm_swap]
root 147 2 0 Jun03 ? 00:00:00 [kworker/0:1H]
root 150 2 0 Jun03 ? 00:00:00 [jbd2/vda1-8]
root 151 2 0 Jun03 ? 00:00:00 [ext4-rsv-conver]
root 190 1 0 Jun03 ? 00:00:00 /lib/systemd/systemd-journald
root 204 2 0 Jun03 ? 00:00:00 [kauditd]
root 234 1 0 Jun03 ? 00:00:00 /lib/systemd/systemd-udevd
root 394 1 0 Jun03 ? 00:00:01 /usr/lib/accountsservice/account
root 397 1 0 Jun03 ? 00:00:00 /usr/sbin/cron -f
daemon 398 1 0 Jun03 ? 00:00:00 /usr/sbin/atd -f
message+ 404 1 0 Jun03 ? 00:00:00 /usr/bin/dbus-daemon --system --
root 420 1 0 Jun03 ? 00:00:00 /lib/systemd/systemd-logind
syslog 421 1 0 Jun03 ? 00:00:00 /usr/sbin/rsyslogd -n
root 608 1 0 Jun03 ? 00:00:00 /sbin/dhclient -1 -v -pf /run/dh
root 623 2 0 Jun03 ? 00:00:00 [edac-poller]
root 694 1 0 Jun03 ? 00:00:36 /usr/sbin/aliyun-service
ntp 732 1 0 Jun03 ? 00:00:04 /usr/sbin/ntpd -p /var/run/ntpd.
root 783 1 0 Jun03 tty1 00:00:00 /sbin/agetty --noclear tty1 linu
root 784 1 0 Jun03 ttyS0 00:00:00 /sbin/agetty --keep-baud 115200
root 907 1 0 Jun03 ? 00:00:00 /usr/sbin/sshd -D
root 1075 2 0 Jun03 ? 00:00:01 [kworker/0:1]
root 1294 1 0 Jun03 ? 00:00:25 /usr/local/aegis/aegis_update/Al
root 1334 1 0 Jun03 ? 00:03:22 /usr/local/aegis/aegis_client/ae
root 16726 907 0 15:16 ? 00:00:00 sshd: root@pts/0
root 16730 1 0 15:16 ? 00:00:00 /lib/systemd/systemd --user
root 16731 16730 0 15:16 ? 00:00:00 (sd-pam)
root 16751 16726 0 15:16 pts/0 00:00:00 -bash
root 16793 907 0 15:39 ? 00:00:00 sshd: root@pts/1
root 16811 16793 0 15:39 pts/1 00:00:00 -bash
root 16842 907 0 16:18 ? 00:00:00 sshd: root@pts/2
root 16860 16842 0 16:18 pts/2 00:00:00 -bash
root 16877 2 0 16:22 ? 00:00:00 [kworker/u2:2]
root 16878 2 0 16:22 ? 00:00:00 [kworker/0:0]
root 16890 16860 0 16:29 pts/2 00:00:00 ps -ef
root@toby:~#
複製代碼
補充:結束進程的指令
#kill PID
複製代碼
做用:操做服務的(啓動/中止/重啓)
語法:service 服務名 start/stop/restart
案例:使用service指令啓動apache(httpd)
# service httpd start
複製代碼
注意
對於服務名是存在要求的,要求服務名必須存在於
/etc/init.d
目錄下
root@toby:~# cd /etc/init.d/
root@toby:/etc/init.d# ls
README hostname.sh nscd sendsigs
aegis hwclock.sh ntp single
apparmor irqbalance ondemand skeleton
atd keyboard-setup.dpkg-bak plymouth ssh
bootmisc.sh killprocs plymouth-log sysstat
checkfs.sh kmod procps udev
checkroot-bootclean.sh mountall-bootclean.sh rc ufw
checkroot.sh mountall.sh rc.local umountfs
console-setup mountdevsubfs.sh rcS umountnfs.sh
cron mountkernfs.sh reboot umountroot
dbus mountnfs-bootclean.sh resolvconf urandom
grub-common mountnfs.sh rsync uuidd
halt networking rsyslog
root@toby:/etc/init.d#
複製代碼
除了能夠用service指令操做服務,還能夠經過以下語法:
/etc/init.d/服務名 start/stop/restart
複製代碼
因此剛纔apache的啓動指令還能夠寫成:
/etc/init.d/httpd start
複製代碼
搜索、過濾. 主要用於對文件/內容進行篩選,選出須要的內容
語法: #grep [選項] 關鍵詞 文件路徑/內容
選項:
示例:使用grep篩選出php2019.txt中的admin行
除了admin 都會被查找, 取反
擴展用法:
#grep -E 「關鍵詞1|關鍵詞2|…」 文件路徑或內容
選項:
上述擴展用法等價於:
#egrep 「關鍵詞1|關鍵詞2|….」 文件的內容或路徑
複製代碼
建立2019.txt 添加內容
1412334
admin
kljsdakjdfkas
foiweroiqwefsd
複製代碼
root@toby:~# touch 2019.txt
root@toby:~# vim 2019.txt
root@toby:~# grep "admin" 2019.txt
admin
root@toby:~#
複製代碼
常見的選項: -v:排除 案例:使用grep篩選出php2018.txt中的admin行
做用:word count,其做用是用於統計文件的各項數值(行、單詞數、字節數)
語法:#wc -lwc 文檔的路徑
選項含義:
root@toby:~# wc -lwc 2019.txt
4 4 43 2019.txt
root@toby:~#
複製代碼
注意:
lwc選項的順序,不影響其指令輸出的結果的順序,結果順序必定是行 、 單詞 、字節
管道嚴格意義上說其不是指令,其只是一個符號「|」。該符號主要起到輔助的做用,可以將多個指令合在一行上進行操做。主要用在搜索過濾等上面
語法:# 必須在終端中有輸出內容的指令 | 有輸入的指令[要求有讀取文件內容的需求]
管道的核心理解概念:管道前面的指令的輸出其實就是管道後面指令的輸入
案例:經過ps指令查看進程,只查看httpd的進程。
ps -ef | grep 「httpd」
複製代碼
示例: 「/etc/passwd」文件是存儲用戶信息的文件,該文件中一行即爲一個用戶,要求使用所學的指令統計出當前計算機中一共有多少個用戶?
cat /etc/passwd | wc -l
複製代碼