Linux常用命令,个人学习笔记
以下是小生在學習linux過程中整理的筆記,因為個人比較菜,筆記比較細啰嗦,希望能給需要的小伙伴一點幫助。
1.立即關機 poweroff
跳出虛擬機,顯示鼠標ctrl+alt
進入虛擬機,隱藏鼠標ctrl+g
在終端中輸入命令過程中某行命令輸入錯誤了,但是回車不能退出也沒有自動退出可以,可以按ctrl+c或者ctrl+】,或者ctrl+d來退出,具體按那個要按具體情況而定。
2.普通用戶與管理員(root)身份切換:
在Linux中很多命令在普通用戶是沒有權限使用的,
‘[root@localhost sxp]# ’即為管理員身份
‘[sxp@localhost ~]$ ’為用戶名為sxp的普通用戶
普通用戶到管理員:‘su’或’su -’(注意空格,因為管理員身份都是root,所以這里省略)
管理員到普通用戶:‘su - sxp’(注意空格,要加上普通用戶名)
3.在系統中執行某個命令后想立即終止它的執行,可同時按下ctrl+c快鍵鍵
4.當某些命令在執行過程中會大量輸出內容,不斷刷屏,影響之后命令的輸入,單又不想終止
該命令的執行,可以在輸入該命令的時候,在命令后邊加上&,這樣該命令就會在后臺執行。
5.ifconfig 查看計算機網絡配置和當前網絡狀態,inet后為IP地址,ether后為Mac地址(網卡物理地址),RX即TX為接受數據包和發送數據包的個數和累計流量。
6.uname命令用于查看當前系統內核和系統版本信息,一般會加上 -a參數,以查看詳細信息,如
[root@linuxprobe ~]# uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2017
x86_64 x86_64 x86_64 GNU/Linux
以空格來區分,以此為內核名稱,主機名稱,內核發行版本等
redhat-release命令用于查看系統版本詳細信息,如下(cat命令是一個文本輸出命令,后邊為參數,所以注意空格)
[root@linuxprobe ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
7.uptime 查看系統負載情況,輸出信息依次為系統當前時間,系統已啟動時間,啟用終端數量以及平均負載情況。這里的評價負載情況指的是系統在一分鐘之內,五分鐘之內以及十五分鐘之內的壓力情況,壓力值越低越好。
[root@linuxprobe ~]# uptime
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18
8.free 參看系統當前內存使用情況,輸出數據以 M 為單位,加上 -h 參數后會將數據轉換為以 G 為單位
9.who 用來查看所有已登入當前主機的用戶信息
10.last 命令可以查看歷史記錄中所有用戶登錄信息,該記錄文件保存在本地,可以被惡意程序修改,所以不能以此絕對確定歷史登錄信息,僅供參考。
11.history 命令查看所有歷史輸入命令 ,加上 -c 參數,情況命令輸入歷史記錄
12.pwd 命令查看用戶當前所處工作目錄
13.ls(注意這里是l不是i) 命令可以查看當前目錄下文件信息, -a 為所有文件, -l為詳細信息,倆個參數都加上即為所有文件的詳細信息。
(1)sxp@sxp-PC:~/Desktop$ ls -l 2.txt
-rw-r–r-- 1 sxp sxp 124 9月 13 17:02 2.txt
(2)sxp@sxp-PC:~/Desktop$ ls -a
. … 1.txt 2.txt 3.txt
14.top 命令可以動態查看系統中運行的各進程以及系統的資源占用情況,我們可以將其理解為強化版的Windows系統中的任務管理器。
15.cat 命令查看內容較少的純文本文件, -n 參數可以顯示行數
more 命令用來查看內容較多的純文本文件
16.head -n 20 1.txt 查看純文本文檔,“1.txt”的前20行
17.tail 命令查看純文本文檔的后n行,或者刷新某純文本文檔
tail -n 20 1.txt 查看“1.txt”的后20行
tail -f 1.txt 刷新“1.txt”
18.tr 命令用作對文本內容某些字符的替換,先用cat命令讀取該文件,然后用tr命令執行替換,
cat 1.txt | tr [a-c] [A-C]
這里將a-c的所有小寫字母改為大寫字母,也可以只改某一個字母,但是要注意的是:
(1)這里cat及其參數與tr之間有豎線隔開
(2)想用cat將目標文件輸出到終端,而tr修改的也是放在終端的文字,將其修改后再在終端輸出,所以tr不會改變原文件
同樣,這里可以用head和tail來輸出某幾行,并替換其中字符,但是tr只能有一個參數,即只能同時修改一個tr [] [],
不能tr [] [] [] []
19.wc 命令用于查看文檔的行數,字符以及字節數,參數分別為 -l 行數,-w 字符數, -c 字節數
sxp@sxp-PC:~/Desktop$ wc -l 1.txt
55 1.txt
sxp@sxp-PC:~/Desktop$ wc -lwc 1.txt
55 121 3281 1.txt
sxp@sxp-PC:~/Desktop$ wc 1.txt
55 121 3281 1.txt
20.stat 命令可以查看文件的詳細信息,如創建時間,大小,修改時間。權限以及用戶等等。
sxp@sxp-PC:~/Desktop$ stat 1.txt
文件:1.txt
大小:3281 塊:8 IO 塊:4096 普通文件
設備:809h/2057d Inode:8134144 硬鏈接:1
權限:(0644/-rw-r–r--) Uid:( 1000/ sxp) Gid:( 1000/ sxp)
最近訪問:2018-09-13 16:37:15.501811427 +0800
最近更改:2018-09-13 16:36:42.329812021 +0800
最近改動:2018-09-13 16:36:42.441812019 +0800
創建時間:-
21.sudo passwd root 在系統初始化的時候我們設置root密碼,會造成在終端su切換root權限時報“鑒定故障”的錯誤,這時我們重新設置root密碼,
sxp@sxp-PC:~$ sudo passwd root
[sudo] sxp 的密碼:
輸入新的 UNIX 密碼:
重新輸入新的 UNIX 密碼:
passwd:已成功更新密碼
sxp@sxp-PC:~$ su
密碼:
root@sxp-PC:/home/sxp#
passwd命令用來保存用戶數據,更新密碼后再次su即可切換大root權限
22.cut 按列提取文本內容,使用-f 參數來設置需要看的列數,還需要使用-d 參數來設置間隔符號使用-f 參數來設置需要看的列數,還需要使用-d 參數來設置間隔符號。
23.diff 命令用于比較兩個文本文件內容是否相同,這里要注意的是比較的是文本文件且比較的是他們的內容,用diff參數設置待比較的兩個文件
sxp@sxp-PC:~/Desktop$ diff --brief 2.txt 3.txt
文件 2.txt 和 3.txt 不同
-c參數可以可以講兩個文本文件內容的不同之處在終端輸出
sxp@sxp-PC:~/Desktop$ diff -c 2.txt 3.txt
*** 2.txt 2018-09-13 17:02:12.393784620 +0800
— 3.txt 2018-09-14 14:54:37.235289021 +0800
***************
*** 1,6 ****
AAAAAAAAaaaaaaaaa
- BBBBBBBBbbbbbbbbb
CCCCCCCCccccccccc
EEEEEEEEeeeeeeeee
FFFFFFFFfffffffff
都看見了件那份麻煩兩位
— 1,6 ----
AAAAAAAAaaaaaaaaa
CCCCCCCCccccccccc
+ BBBBBBBBbbbbbbbbb
EEEEEEEEeeeeeeeee
FFFFFFFFfffffffff
都看見了件那份麻煩兩位
24.touch 命令可以創建空白文件(不是文件夾),創建文件時直接在命令后加文件名(加后綴)就可以,同時也修改文件的讀取和修改時間, -a 參數修改讀取時間, -m參數修改修改時間, -d則是二者都修改(注意這里是文件而不僅局限于文檔)
sxp@sxp-PC:~/Desktop$ ls -l 3.txt
-rw-r–r-- 1 sxp sxp 124 9月 14 16:36 3.txt
sxp@sxp-PC:~/Desktop$ touch -d “2018-7-23 09:00” 3.txt
sxp@sxp-PC:~/Desktop$ ls -l 3.txt
-rw-r–r-- 1 sxp sxp 124 7月 23 09:00 3.txt
創建新文件
sxp@sxp-PC:~/Desktop$ touch 4.txt
sxp@sxp-PC:~/Desktop$ touch 1.pdf
sxp@sxp-PC:~/Desktop$ touch 1.doc
sxp@sxp-PC:~/Desktop$ touch 1.ppt
25.mkdir 命令可以創建一個新的空白文件夾(注意新建的只能是文件夾),命令后接文件夾命名,同時還可以用 -p 參數來創建子目錄,子目錄可以是層疊的,創建子文件夾即是在當前文件夾內創建新文件夾,所以要利用 cd 進入當前文件夾內
sxp@sxp-PC:~/Desktop$ mkdir 1
sxp@sxp-PC:~/Desktop$ cd 1
sxp@sxp-PC:~/Desktop/1$ mkdir -p 2/3/4/5
sxp@sxp-PC:~/Desktop/1$ cd 5
bash: cd: 5: 沒有那個文件或目錄
sxp@sxp-PC:~/Desktop/1$ cd 2/3/4/5
sxp@sxp-PC:~/Desktop/1/2/3/4/5$
如上,新建文件夾1,進入該文件夾,逐層創建2/3/4/5文件夾,后者為前者子文件夾,因為當前路徑處于文件夾1內,我們想跨過2/3/4文件夾cd進5,失敗了,所以應該明確指定路徑,進入5.
26.cp 命令用于復制文件夾或文件,命令后為參數, -p 用于保存源文件的屬性, -d 當源文件為鏈接時,復制后保存其鏈接屬性, -r 用來復制文件夾,諸層復制, -i 則是當目標文件與源文件相同時,要提示是否覆蓋,如果不設置 -i 參數,同名是默認覆蓋(親測);參數后為源文件名(待復制文件),源文件后為目的文件名;當源文件為文件,而目的文件名為一個文件夾或是路徑時,將源文件放到該路徑下。
(1)將多層文件夾1諸層復制給文件夾2(在當前路徑新建文件夾2并將1的子文件夾諸層復制過來)
sxp@sxp-PC:~/Desktop$ cp -r 1 2
(2)在當前路徑下將1.txt放到文件夾2中,命名22.txt
sxp@sxp-PC:~/Desktop$ cp 2.txt 2/22.txt
(3)加上 -i 參數后在覆蓋前會詢問,輸入“1”或“是”覆蓋,直接回車不輸入取消
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆蓋’2/22.txt’? 1
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆蓋’2/22.txt’? 恩恩
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆蓋’2/22.txt’? 0
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆蓋’2/22.txt’?
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆蓋’2/22.txt’? 是
27.mv 命令用于剪切文件,這里的剪切不是說將文件部分內容剪切下來,而是對于文件本身而言,命令后分別為源文件名和目的文件名,將其剪切到新的目錄下就相當于移動,源文件會被刪除,剪切到當前目錄即為重命名
(1)將桌面上的“3.txt”剪切到3文件夾中,新文件夾命名為“33.txt”,不同目錄剪切是為移動
sxp@sxp-PC:~/Desktop$ mv 3.txt 3/33.txt
(2)將桌面上3文件夾中的“33.txt”剪切命名為“44.txt”并保存在3文件夾中,同目錄剪切是為重命名
sxp@sxp-PC:~/Desktop$ mv 3/33.txt 3/44.txt
28.rm 命令用于刪除文件或文件夾,刪除一個文件夾時即便是一個空文件夾也要加上 -r 參數,否則無法刪除,如下“4”為一個空文件夾
sxp@sxp-PC:~/Desktop$ rm 4
rm: 無法刪除’4’: 是一個目錄
sxp@sxp-PC:~/Desktop$ rm -r 4
刪除某一個文件:sxp@sxp-PC:~/Desktop$ rm 3.txt
29.dd 命令用于從指定位置復制指定大小的數據塊出來,if參數后為源文件名(可加路徑),of參數后為目的文件名(可加路徑),bs參數可理解為復制一次的數據大小,count為復制次數,bs與count的乘機為復制文件的大小,即復制該文件我們要求系統復制count次,每次復制bs這么多。
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
如上,從"dev/zero"目錄中復制560m大小的數據,放在原目錄中,新文件名為"560_file",每次復制操作復制560m,只需復制一次。中間兩行做操作記錄。
dd命令還可以直接將數據壓縮成iso文件而不是想Windows那樣需要借助第三方軟件,即將待壓縮數據放到if中,在of中輸出ISO命名,
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
如上,當源文件是某個文件時,其內存大小固定,所以可以不用bs和count參數來限定數據塊大小。
30.file 命令用于參看文件類型,在Linux中我們把文本,文件夾,設備都一切都稱為文件,我們可以用file命令來參看文件的類型,
sxp@sxp-PC:~/Desktop$ file 1
1: directory
sxp@sxp-PC:~/Desktop$ file 2.txt
2.txt: UTF-8 Unicode text
sxp@sxp-PC:~/Desktop$ touch 1.py
sxp@sxp-PC:~/Desktop$ file 1.py
1.py: empty
sxp@sxp-PC:~/Desktop$ touch 1.exe
sxp@sxp-PC:~/Desktop$ file 1.exe
1.exe: empty
如上,文件夾類型為directory,txt文檔會給出編碼格式。
總結
以上是生活随笔為你收集整理的Linux常用命令,个人学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dumpstate log总结
- 下一篇: linux 其他常用命令