Linux命令集合(更新中。。。)
B站視頻
1.清屏:clear
2.自動補全:tab鍵
3.查看當前路勁:pwd
4.修改當前路徑:cd 路徑地址
回到上級目錄:cd …
回到上級的上級目錄:cd …/…
回到家目錄:cd ~或者直接cd
相對路徑:相對于當前目錄
絕對路徑:從根目錄開始完整的路徑(從/和~開始的都是絕對路徑)
5.羅列當前路徑文件:ls
以列表羅列文件:ls -l
羅列隱藏文件:ls -a
列表羅列隱藏文件:ls -a -l
ls通配符:
6.創建文件:touch 文件名
創建文件夾:mkdir 文件夾名
創建隱藏文件:touch .文件名
7.移除文件:rm 文件名
移除文件夾:rm -d 文件夾名 或者:rm -r 文件夾名
移動(剪切)文件和文件夾:mv 要移動的文件名或文件夾名 目的路徑
移動(剪切)文件和文件夾到當前路徑要改名字:mv 要移動的文件名或文件夾名 ./要改的名字
8.復制文件:cp 要復制的文件名 目的路徑(當前路徑可以用 . 表示)
復制文件夾:cp -r 要復制文件夾名 目的路徑(當前路徑可以用 . 表示)
復制文件到當前路徑要改名字:cp 要復制的文件名 ./要改的名字
9.根據路徑搜索文件:find /路徑 -name 文件名
根據路徑模糊搜索文件:同ls通配符
忽略大小寫根據路徑搜索文件:find /路徑 -iname 文件名
10.查看當前進程: ps
執行退出: exit
徹底退出當前命令: ctrl+C
執行睡眠,掛起當前進程 :ctrl+Z
恢復后臺:fg
11.Linux下用于查看系統當前登錄用戶信息的4種方法
12.查看當前用戶 id: id:查看顯示目前登陸賬戶的 uid 和 gid 及所屬分組及用戶名
13.Useradd 和adduser?
添加用戶:useradd -m -s 用戶名 然后設置密碼 passwd 用戶名
刪除用戶:userdel -r 用戶名
useradd只是創建了一個用戶名,如 (useradd +用戶名 ),它并沒有在/home目錄下創建同名文件夾,也沒有創建密碼,因此利用這個用戶登錄系統,是登錄不了的,為了避免這樣的情況出現,可以用 (useradd -m +用戶名)的方式創建,它會在/home目錄下創建同名文件夾,然后利用( passwd + 用戶名)為指定的用戶名設置密碼。
14.如何創建鏈接?
創建軟鏈接: ln -s 源文件 目標文件
創建硬鏈接: ln 源文件 目標文件
ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化。
在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。對硬鏈接文件進行讀寫和刪除操作時候,結果和軟鏈接相同。但如果我們刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了愿有的內容。這時,系統就“忘記”了它曾經是硬鏈接文件。而把他當成一個普通文件。
15.向屏幕輸出帶空格的字符串:
echo hello world
16.終端是哪個文件夾下的哪個文件?
終端 /dev/tty
17.Linux黑洞(http://www.linuxdiyf.com/view_273259.html):
黑洞文件 /dev/null
/dev/null是一個虛設的設備,俗稱“Linux黑洞”,任何對/dev/null的寫入都會成功,但數據會消失得無影無蹤,沒有任何反饋。
所以經常把不想在屏幕顯示的信息全部送到/dev/null中,在shell腳本中用得比較多。
如:ls -l > /dev/null
還可以用來清空文件的內容:
cat /dev/null > FileName
18.統計內容?(行號、單詞數、字節數):wc(word count)
文件統計字節數 wc -c
文件統計行數 wc - l
文件統計字數 wc -w
19.grep用法:
(https://www.cnblogs.com/flyor/p/6411140.html)
grep命令的常用格式為:grep [選項] ”模式“ [文件]
選項與參數:
-E :開啟擴展(Extend)的正則表達式。
-i :忽略大小寫(ignore case)。
-v :反過來(invert),只打印沒有匹配的,而匹配的反而不打印。
-n :顯示行號
-w :被匹配的文本只能是單詞,而不能是單詞中的某一部分,如文本中有liker,而我搜尋的只是like,就可以使用-w選項來避免匹配liker
-c :顯示總共有多少行被匹配到了,而不是顯示被匹配到的內容,注意如果同時使用-cv選項是顯示有多少行沒有被匹配到。
-o :只顯示被模式匹配到的字符串。
–color :將匹配到的內容以顏色高亮顯示。
-A n:顯示匹配到的字符串所在的行及其后n行,after
-B n:顯示匹配到的字符串所在的行及其前n行,before
-C n:顯示匹配到的字符串所在的行及其前后各n行,context
可以用fgrep(fast grep)代替來提高查找速度,比如我要匹配一下hello.c文件中printf的個數:fgrep -c “printf” hello.c
2、使用基本正則表達式,下面談關于基本正則表達式的使用:
匹配字符:
. :任意一個字符。
[abc] :表示匹配一個字符,這個字符必須是abc中的一個。
[a-zA-Z] :表示匹配一個字符,這個字符必須是a-z或A-Z這52個字母中的一個。
[^123] :匹配一個字符,這個字符是除了1、2、3以外的所有字符。
對于一些常用的字符集,系統做了定義:
[A-Za-z] 等價于 [[:alpha:]]
[0-9] 等價于 [[:digit:]]
[A-Za-z0-9] 等價于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等價于 [[:upper:]]
[a-z] 等價于 [[:lower:]]
標點符號 [[:punct:]]
匹配次數:
{m,n} :匹配其前面出現的字符至少m次,至多n次。
? :匹配其前面出現的內容0次或1次,等價于{0,1}。
* :匹配其前面出現的內容任意次,等價于{0,},所以 “.*” 表述任意字符任意次,即無論什么內容全部匹配。
20.Sed用法:(https://www.cnblogs.com/maxincai/p/5146338.html)
sed [options] ‘command’ file(s)
sed [options] -f scriptfile file(s)
替換操作:s命令
sed ‘s/This/aaa/’ test.txt #將文本中This替換成aaa
sed -n ‘s/This/aaa/p’ test.txt #-n選項和p命令一起使用表示只打印那些發生替換的行
刪除操作:d命令
選定行的范圍:,(逗號)
sed -n ‘5,/^this/p’ test.txt #打印從第5行開始到第一個包含以this開始的行之間的所有行
寫入文件:w命令
sed -n ‘/my/w test2.txt’ test.txt #在test.txt中所有包含my的行都被寫入test2.txt
追加(行下):a\命令
sed ‘/^my/a\this is a test line’ test.txt #將this is a test line 追加到以my開頭的行后面
sed ‘2a\this is a test line’ test.txt #text.txt文件第2行之后插入this is a test line
插入(行上):i\命令
sed ‘/^my/i\this is a test line’ test.txt #將this is a test line 插入到以my開頭的行前面
變形:y命令
sed ‘1,10y/abcde/ABCDE/’ test.txt #把1-10行內所有的abcde轉變為大寫,注意,正則表達式元字符不能使用這個命令
退出:q命令
sed ‘3q’ test.txt #打印完第3行,退出sed
打印奇數行或偶數行
sed -n ‘p;n’ test.txt #奇數行
sed -n ‘n;p’ test.txt #偶數行
21.awk 詳解(https://www.cnblogs.com/ftl1012/p/9250541.html)
awk ‘{pattern + action}’ {filenames}
其中 pattern 表示 AWK 在數據中查找的內容,而 action 是在找到匹配內容時所執行的一系列命令。 pattern就是要表示的正則表達式,用斜杠括起來。awk語言的最基本功能是在文件或者字符串中基于指定規則瀏覽和抽取信息,awk抽取信息后,才能進行其他文本操作。通常,awk是以文件的一行為處理單位的。awk每接收文件的一行,然后執行相應的命令,來處理文本。
22.Linux中如何讓命令在后臺運行?
1.在下達的命令后面加上&,就可以使該命令在后臺進行工作,這樣做最大的好處就是不怕被ctrl+c這個中斷指令所中斷。
2. 在后臺執行的程序怎么使它恢復到前臺來運行呢?很簡單,只用執行fg這個命令,就可以了。 把停下的后臺任務在后臺執行起來 bg
3.現在已經在前臺運行的命令,我能把它放到后臺去運行么?當然可以了,只要執行ctrl+z就可以做到了。
4.如果我有多個進程在后臺運行,那如何恢復到前臺來執行呢?這時候就要用到jobs這個命令了,通過jobs這個命令,能夠列出所有在后臺執行的進程,那個中括號([ ])里面的數字就是 jobs 的代號啰
23.查看系統支持的所有信號:kill -l
24.查找自己所在的終端信息:who am i
查看當前誰在使用該主機:who
25.查看用過的命令列表:history
26.查看磁盤使用空間,空閑空間:df -hl
文件系統 容量 已用 可用 已用% 掛載點
Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
27.查看網絡是否連通:netstat
28.查看 ip 地址及接口信息:ipconfig
29.Linux環境變量
Linux是一個多用戶的操作系統,每個用戶登錄系統,都會有一個專用的運行環境。通常每個用戶默認的環境都是相同的,默認環境實際上是一組環境變量的定義。通過相應的系統環境變量,用戶可以對自己的運行環境進行個性化設置。
30.? 通過什么命令指定命令提示符?
31.linux命令中find、which、whereis、locate有什么區別?(https://www.cnblogs.com/jycjy/p/6940544.html)
find是最常用和最強大的查找命令。它能做到實時查找,精確查找,但速度慢。
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)
locate
locate命令不是實時查找,所以查找的結果不精確,但查找速度很快。因為它查找的不是目錄,而是一個數據庫(/var/lib/locatedb),這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫。
locate使用格式
locate [指定目錄]
例:查找所有包含passwd的文件
#locate passwd
例:查找所有包含passwd的文件,并且只顯示前十個
#locate -n 10 passwd
which
which命令是查找命令是否存在,以及命令的存放位置在哪兒。
例:#which ls
whereis
whereis命令只能用于搜索程序名,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。
whereis命令的使用實例:
#whereis vim
type
type命令用來區分某個命令到底是由shell自帶的,還是由shell外部的獨立二進制文件提供的。如果一個命令是外部命令,那么使用-p參數,會顯示該命令的路徑,相當于which命令。
32.怎么對命令進行取別名?
alias 別名=實際名字
alias matlab=/home/bearox/download/Matlab/bin/matlab
這樣子每次你只需要輸入matlab它就會把它當作是/home/bearox/download/Matlab/bin/matlab這條命令。注意‘=’兩邊沒有空格。
33.du 和 df 的定義,以及區別?
du查看目錄大小,df查看磁盤使用情況。
du 顯示目錄或文件的大小
df 顯示每個<文件>所在的文件系統的信息,默認是顯示所有文件系統。
du,disk usage,是通過搜索文件來計算每個文件的大小,然后累加,du能看到的文件只是一些當前存在的,沒有被刪除的。他計算的大小就是,當前他認為存在的所有文件大小的累加和。
df,disk free,通過文件系統來快速獲取空間大小的信息。當我們刪除一個文件的時候,這個文件不是馬上就在文件系統當中消失了,而是暫時消失了,當所有程序都不用時,才會根據OS的規則釋放掉已經刪除的文件。 df記錄的是通過文件系統獲取到的文件的大小,他比du強的地方就是能夠看到已經刪除 的文件,而且計算大小的時候,把這一部分的空間也加上了,更精確了。
34.?當你需要給命令綁定一個宏或者按鍵的時候,應該怎么做呢?
Bind
35.如果一個linux新手想要知道當前系統支持的所有命令的列表,他需要怎么做?
compgen -c
可以搜索或計算命令:
compgen -c | grep find
compgen -c | wc -l
36.目錄棧操作(https://blog.csdn.net/xiaoying5191/article/details/79482811):
dirs : 顯示棧
pushd : 將目錄壓入棧中
為了訪問棧中其他目錄,可以才用以下方式:
pushd +n
其中,n為棧中目錄的編號,從棧頂算起,棧頂編號為0。此時只會跳轉目錄,而不會向棧中壓如錄。當使用不帶參數的pushd時,pushd交換棧頂最上面的兩個目錄,并將新的棧頂目錄(即原來的次棧頂目錄)作為新的工作目錄。
popd : 將目錄從棧中彈出
使用不帶參數的popd將棧頂目錄從棧中移出,并將工作目錄切換到新的站定目錄,即原來的次棧頂目錄。為了移出棧中其他目錄,可以使用以下方式:
popd +n
其中,n同上。此時工作目錄并不改變。
37.Linux中進程的七種狀態
(1)R運行狀態(runing):并不意味著進程一定在運行中,也可以在運行隊列里;
(2)S睡眠狀態(sleeping):進程在等待事件完成;(淺度睡眠,可以被喚醒)
(3)D磁盤睡眠狀態(Disk sleep):不可中斷睡眠(深度睡眠,不可以被喚醒,通常在磁盤寫入時發生)
(4)T停止狀態(stopped):可以通過發送SIGSTOP信號給進程來停止進程,可以發送SIGCONT信號讓進程繼續運行
(5)X死亡狀態(dead):該狀態是返回狀態,在任務列表中看不到;
(6)Z僵尸狀態(zombie):子進程退出,父進程還在運行,但是父進程沒有讀到子進程的退出狀態,子進程進入僵尸狀態;
(7)t追蹤停止狀態(trancing stop)
38.ps(process status)命令(https://www.cnblogs.com/peida/archive/2012/12/19/2824418.html):
確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等
39.linux終止進程命令:
kill [參數] 進程號
killall [參數] 進程名稱
參數:-9 表示強制結束進程
ps -aux | grep sshd #遠程登錄的服務名稱為sshd,搜索此名稱的所有進程
kill 6804 #結束id為6804這個用戶
ps -aux | grep bash #linux中,一個終端的服務名稱為"bash"
kill 6751 #嘗試結束 id為"6751"的進程
kill -9 6751 #強制結束 id為"6751"的進程
40.Linux disown命令使用詳解(https://man.comptechs.cn/disown.html):
Shell disown命令用于從當前的shell中移除作業:
-h 標記每個作業標識符,這些作業將不會在shell接收到sighup信號時接收到sighup信號。
-a 移除所有的作業。
-r 移除運行的作業。
41.shell 中的hash 命令有什么作用?
’hash’管理著一個內置的哈希表,記錄了已執行過的命令的完整路徑, 用該命令可以打印出你所使用過的命令以及執行的次數。
42.bash shell 的內置命令let 可以進行整型數的數學運算。
#! /bin/bash
…
let c=a+b
43.查看文件內容有哪些命令可以使用?
vi 文件名 #編輯方式查看,可修改
cat 文件名 #顯示全部文件內容
more 文件名 #分頁顯示文件內容
less 文件名 #與 more 相似,更好的是可以往前翻頁
tail 文件名 #僅查看尾部,還可以指定行數
head 文件名 #僅查看頭部,還可以指定行數
44.怎樣一頁一頁地查看一個大文件的內容呢?
通過管道將命令”cat file_name.txt” 和 ’more’ 連接在一起可以實現這個需要.
[root@localhost ~]# cat file_name.txt | more
45.?數據字典屬于哪一個用戶的?
數據字典是屬于’SYS’用戶的,用戶‘SYS’ 和 ’SYSEM’是由系統默認自動創建的
46.怎樣查看一個linux命令的概要與用法?假設你在/bin目錄中偶然看到一個你從沒見過的的命令,怎樣才能知道它的作用和用法呢?
使用命令whatis 可以先出顯示出這個命令的用法簡要,比如,你可以使用whatis zcat 去查看‘zcat’的介紹以及使用簡要。
47.使用哪一個命令可以查看自己文件系統的磁盤空間配額呢?
使用命令repquota 能夠顯示出一個文件系統的配額信息
48.查看日志
1、cd到服務器的logs目錄(里面有xx.out文件)
2、tail -f xx.out --此時屏幕上實時更新日志。ctr+c停止
3、查看最后100行日志 tail -100 xx.out
4、查看關鍵字附件的日志。如:cat filename | grep -C 5 ‘關鍵字’(關鍵字前后五行。B表示前,A表示后,C表示前后) ----使用不多
5、還有vi查詢啥的。用的也不多。
總結
以上是生活随笔為你收集整理的Linux命令集合(更新中。。。)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RNN的手写数字识别
- 下一篇: TensorFlow创建tensor语句