Linux常用命令及解析
基本日常命令
init 3 (進入命令行頁面)
steup (設置網絡)
exit (退出用戶)
pwd(查看當前所在目錄)
date(查看當前系統時間)
舉例:(date +%Y-%m-%d)以年月日的格式顯示當前系統時間;(date -s "2018-02-28" 18:20)將時間修改為此時間;
(date +%Y-%m-%d --date ="-1 day")當前日期-1天;(date +%Y-%m-%d --date ="+2 month")當前日期+2月;(date +%Y-%m-%d --date ="+3 year")當前日期+3年。
(kwclock -w)修改時間后需要寫入硬件bios才能在重啟之后依然生效,否則重啟后失效,故需要追加此命令。
who (查看當前在線用戶)
last (查看最近登錄歷史)
舉例:(last -3)查看最近三個登錄歷史。
shutdown(關機)halt(立即關機)備注:關機必須用root用戶
shutdown -h now(立即關機);shutdown -h +10(10分鐘后關機);shutdown -h 12:00:00(12點關機);shutdown -r now(立即重啟)。
clear 或快捷鍵ctrl+l(清屏)ctrl+c或q(退出當前進程);ctrl+z(掛起進程到后臺,相當于最小化);history(顯示命令歷史)
bg 進程名(讓進程在后臺繼續執行);fg 進程名(讓進程回到前臺)。
echo (打印)
舉例:(echo aaa)打印aaa到控制臺;(a=123)(echo $a)將a變量中存儲的124打印到控制臺。
目錄操作
ls (查看目錄信息)
舉例:(ls /)查看根目錄下文件夾和文件信息;(ls .)查看當前目錄下文件夾和文件信息;(ls ..)查看上一級目錄下文件夾和文件信息;
(ls -al)a是顯示隱藏文件,l是以更詳細的列表顯示;(ls -l或ll)以更詳細的列表顯示當前目錄下的文件夾和文件信息。
cd (切換工作目錄)
舉例:(cd /)到根目錄;(cd /home/wxy)到wxy用戶目錄;(cd ~ 或cd)切換到用戶主目錄;(cd -)回退到上次所在目錄
mkdir (創建文件夾)
舉例:(mkdir tools)在當前目錄下創建tools文件夾;(mkdir -p aaa/bbb/ccc)級聯創建目錄,創建aaa并在aaa中創建bbb,創建bbb,并在bbb中創建ccc;(mkdir -m 777 test)創建test并對其設置權限777
rmdir?(刪除文件夾)
舉例:(rmdir tools)可以刪除空目錄;(rm -r tools)刪除tools整個文件夾下的內容,需要確認;(rm -rf tools)強制刪除tools,不需要確認。
mv (修改文件夾)mv本質上是移動,如果選定文件名在當前目錄下沒有,則為修改,如果有則是移動。
舉例:(mv wxy xiyang)將文件夾wxy改為xiyang;(mv xiyang wxy)將當前目錄下的xiyang移動到wxy中;(mv xiyang wxy /xiaobai)移動并改名為xiaobai。
rename (批量修改文件名)
舉例:(rename .txt .docx *)將當前目錄下所有txt文件全部改為docx文件。
文件操作
1.創建文件
touch(創建文件)
舉例:touch a.txt(創建名為a的文本文檔);touch b.avi(創建名為b的avi文件)
2.重定向文件
">"、">>"(創建文件,并通過echo打印命令像文件中寫入、覆蓋、追加內容)
利用重定向">"功能,將一條指定的輸出結果寫入到一個文件中,會覆蓋原文件內容,如果指令的文件不存在,則會創建此文件。">>"將一條指令的輸出結果追加到另一個文件中,不會覆蓋原文件。
舉例:echo "abc" >abc.txt(創建abc.txt文檔,并寫入內容abc);echo "hhh" >abc.txt(如果abc.txt文檔已存在,則替換abc.txt文檔中的內容為hhh);echo "def" >>abc.txt(追加內容def到abc.txt文檔中)
3.文本編輯器
vi(創建文件,并自由編輯內容)
舉例:vi 1.txt(如果1.txt存在,則是編輯此文件,如果1.txt文件不存在,則是創建并編輯此文件)
輸入vi 1.txt命令首先會進入“一般模式”,此模式只接受各種命令快捷鍵,不能編輯內容,
按"i"鍵就會從一般模式進入編輯模式,此模式下,鍵入的都是文件內容,
編輯完成后,按Esc退出編輯模式,回到一般模式,
再按":"鍵,進入底行命令模式,輸入"wq"命令,回車即可。
編輯器中常用快捷鍵(在一般模式下使用)
a 在光標后一位開始插入
A 在該行的最后插入
I 在該行的最前面插入
o在光標當前所在行下添加一新行
O在光標當前所在行上添加一新行
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 刪除一行
3dd 刪除三行
yy 復制一行
3yy 復制三行
p 粘貼
u 回退
v 進入字符選擇模式,選擇完成后,按y復制,按p粘貼
ctrl+v 進入塊選擇模式,選擇完成后,按y復制,按p粘貼
shift+v 進入行選擇模式,選擇完成后,按y復制,按p粘貼
顯示行號:(:set nu)
隱藏行號:(:set nonu)
編輯器中查找并替換(在底行命令模式中輸入)
查找關鍵字:(:/a)查找文件中出現的a,并定位到第一個 找到的地方,按n鍵可以定位到下一個匹配位置(按N鍵定位到上一個)。
替換關鍵字(:s/aaa/bbb)查找光標所在行的第一個aaa,替換為bbb;(:%s/aaa/bbb)查找文件中所有的aaa,替換為bbb。
3.cp、rm、mv(拷貝/刪除/移動)
舉例:(cp 1.doc /home/wxy)將當前目錄下的1.doc文件拷貝到/home/wxy目錄中;(cp 1.doc /home/wxy/2.doc)將當前目錄下的1.doc文件拷貝到/home/wxy目錄中并重命名為2.doc;(cp -r file /home/wxy)將當前目錄下的file文件夾拷貝到/home/wxy目錄中。(注:如果執行時出現”cp: omitting directory”的提示信息,但使用mv則可以成功剪切粘貼,是由于該目錄下含有子目錄,這個時候需要使用 cp -r 參數來遞歸拷貝這些及其子文件夾下的文件。)
(rm 1.doc)、(rm -r 1.doc)需要確認是否刪除;(rm -rf 1.doc)直接刪除,不需要確認。
(mv 1.doc /home)將當前目錄下的1.doc移動到/home目錄中
4.查看文件內容
cat
舉例:(cat install.log)一次性將文件內容全部輸出到控制臺。
分頁查看文件的命令
more
舉例:(more install.log)可以翻頁查看,下翻一頁(空格),上翻一頁(b),下翻%2(d),幫助(h),退出(q)。
less
舉例:(less install.log)可以翻頁查看,下翻一頁(空格),上翻一頁(b),上翻一行(↑),下翻一行(↓),搜索關鍵字(/keywod),跳到文件末尾(G),跳到文件首行(gg),退出less(q)。
head(顯示文件頭部指定行數)
(head -n 20 install.log)查看文件前20行
(head -n -100 /etc/man.config)后面 100 行的數據都丌打印,只打印/etc/man.config 的前面幾行
tail(顯示文件尾部指定行數)
(tail -n 10?install.log)查看文件尾部的10行
(tail -n +10 install.log)查看文件10-->末行
(tail -n +100 /etc/man.config)不知道/etc/man.config 有幾行,只想列出 100 行以后的數據
持續監聽文件內容
(tail -f install.log)小f跟蹤文件的唯一inode號,就算文件改名后,還是跟蹤原來這個inode表示的文件
(tail -F install.log)大F按照文件名來跟蹤
(haed -10 install.log)查看文件頭部的10行
例題--組合管道符使用:
(head -n 20 /etc/man.config | tail -n 10?)顯示 /etc/man.config 的第 11 到第 20 行
od (讀取二進制文件)
/usr/bin/passwd,使用上邊提到的指令來讀取該文件的內容時, 會產生類似亂碼的數據,可以用od命令解決。
(od -t c /usr/bin/passwd)將/usr/bin/passwd 的內容使用 ASCII 方式展現
選項或參數:
-t :后面可以接各種『類型 (TYPE)』的輸出,例如:
a :利用默認的字符來輸出;
c :使用 ASCII 字符來輸出
d[size] :利用十進制(decimal)來輸出數據,每個整數占用 size bytes ;
f[size] :利用浮點數(floating)來輸出數據,每個數占用 size bytes ;
o[size] :利用八進制(octal)來輸出數據,每個整數占用 size bytes ;
x[size] :利用十六進制(hexadecimal)來輸出數據,每個整數占用 size?bytes ;
5.打包壓縮
壓縮 gzip
舉例:(gzip a.txt)把a.txt壓縮;(gzip -d a.txt.gz)把壓縮文件解壓縮
壓縮 bzip2
舉例:(bzip2 a.txt)把a.txt壓縮;(bzip2 -d a.txt a.bz2)把壓縮文件解壓縮
打包 tar -cvf(c代表創建,,v代表顯示進度,f代表一個文件包);解包tar -xvf(x代表解一個包);追加(r代表)
舉例:(tar -cvf test.tar 1.txt 2.txt aaa)將1.txt、2.txt、aaa打包到test.tar文件夾中;
(tar -xvf test.tar)將test.tar文件夾中1.txt、2.txt、aaa解包;
(tar -rvf test.tar 3.txt)將2.txt追加到test.tar文件夾中。
打包并壓縮?tar -zcvf
舉例:(tar -zcvf test.tar.gz 1.txt 2.txt aaa )將1.txt、2.txt、aaa打包到test.tar文件夾中,并壓縮;
(tar -zxvf test.tar.gz)將test.tar.gz文件夾中1.txt、2.txt、aaa解壓縮;(tar -zxvf test.tar.gz -C /usr)將test.tar.gz中的文件解壓到usr下
查看壓縮包內容
舉例:(tar -ztvf test.tar.gz)查看test.tar.gz中的內容
查找
which ls (查找可執行的命令所在的路徑)
whereis ls (查找可執行的命令和幫助的位置)
find / -name "wxy" (查找關鍵字包含wxy的文件夾或文件)
find / -name "wxy" -ls (查找關鍵字包含wxy的文件夾或文件并顯示詳細信息)?
查找并刪除
find -name "wxy" -ok rm{}\
find -name "wxy" -exec rm{}\
find /usr -user wxy -ls(查找用戶為wxy的文件)
文件權限的操作
1.權限含義
r:可讀;w可寫;x可執行
舉例:(drwxr-x---它可以用二進制進行表示(有權限是1,無權限是0) 所以是111 101 000 --> 轉換成十進制750)第一組:rwx:表示這個文件的所有者對它的權限:可讀可寫可執行;
第二組:r-x表示這個文件的所屬組用戶對它的權限:可讀不可寫可執行;第三組:---表示這個文件的其他用戶對它的權限:不可讀不可寫不可執行。
2.修改文件權限?chmod?
舉例:chmod g-rw 123.dat 表示將123.dat對所屬組取消rw權限(g代表group);
chmod o-rw 123.dat 表示將123.dat對其他人取消rw權限(o代表other);
chmod u+x 123.dat 表示將123.dat對所屬用戶增加x權限(u代表user);
chmod a-x 123.dat? 表示將123.dat對所有用戶取消x權限(a代表all);
chomod u=rwx,go=rx?123.dat?表示將123.dat對所屬用戶rwx權限,所屬組和其他用戶rx權限;
也可以用數字的方式來修改權限(chmod 664 123.dat 就會改成rw-rw-r--)(4代表r,2代表w,1代表x);
如果將一個文件夾的所有內容權限統一修改,則可以使用-R參數(chomd -R 770 wxy/)就是將wxy文件夾中所有的權限都改成rwxrwx---;
r:對文件來說是可讀取內容,對文件夾來說是可以ls(看里邊東西);
w:對文件來說是可修改文件內容,對文件夾來說是可以在其中創建或者刪除子節點;
x:對文件來說是能否運行這個文件,對文件夾來說是能否cd(進入這個目錄)。
修改所屬?chown
舉例:(chown wxy:wxy a.txt) 說明:此命令只能由root執行
基本的用戶管理
1.添加用戶?useradd?舉例(useradd xiyang)新建一個xiyang用戶;(passwd? xiyang)為此用戶新建一個密碼;(userdel xiyang)把xiyang用戶刪除;(userdel -r xiyang)把xiyang用戶及用戶的目錄都刪除;(exit)退出當前用戶;(cat /etc/passwd)查看所有用戶。
添加一個tom用戶,設置它屬于users組,并添加注釋信息
分步完成:useradd tom --> usermod -g users tom? --> usermod -c "hr tom"tom --> 設置tom用戶密碼 passwd tom
一步完成:useradd -g users -c "hr tom"tom?--> 設置tom用戶密碼 passwd tom
2.修改用戶
舉例:(usermod -l tomcat tom)修改tom用戶的登錄名為tomcat;(usermod -G sys,root tomcat)將tomcat添加到sys和root組中;(groups tomcat)查看tomcat的組信息;
3.用戶組操作
舉例:(groupadd america )添加一個叫america的組;(usermod -g america jerr)將Jerry添加到amecica組中;(gpasswd -d tomcat root)-->(gpasswd -d tomcat sys)將tomcat用戶從root組合sys組刪除(groupmod -n am america)將america組名修改為am。
4.為用戶配置sudo權限
(su)更換用戶為root,需要輸入root密碼;(sudo useradd user1 )因為添加用戶是root的權限,所以普通用戶執行添加用戶操作需要前面加上sudo,意思是獲取到root權限,但執行此命令前提需要用root用戶先更改一下sudoers文件,(命令為:vi /etc/sudoers)在文件末尾向上幾行處,將(root ALL=(ALL) ALL)下增加一條(xiyang ALL=(ALL) ALL),其中xiyang為要分配此權限的用戶名,括號中的ALL是變量,可以指定任意一個路徑。
統計文件或文件夾大小
df -h 查看磁盤的剩余空間;
du -sh *(s是匯總h是單位)統計指定路徑下的所有子目錄和文件的大小;
舉例:(du -sh /home/user1)查找home目錄下的user1文件夾的大小。
系統服務管理 service
(service --status-all)查看系統所有的后臺服務進程;
(service --status-all | grep httpd)從前面查找中的內容中找httpd關鍵字;
(service sshd status)查看指定的后臺服務(sshd)進程狀態;
(service iptables status)查看防火墻服務進程狀態;
(service sshd stop)結束指定的后臺服務(sshd)進程;
(service sshd start)啟動指定的后臺服務(sshd)進程;
(service sshd restart)重啟指定的后臺服務(sshd)進程。
1.配置后臺服務進程的開機自啟 chkconfig
(chkconfig httpd on)讓httpd服務開機自啟;
(chkconfig httpd off)讓httpd服務開機不自啟;
(chkconfig --list)查看服務開機自啟的狀態;
(chkconfig --list | grep httpd)查看指定服務(httpd)開機自啟的狀態;
(chkconfig --level| 35 httpd on)讓httpd服務的第三項和第五項開機自啟;
2.系統啟動級別管理
vi /etc/inittab(進入inittab中配置系統默認啟動級別,注意一定不要設置為0和6)
# 0 - halt (Do NOT set initdefault to this)系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
# 1 - Single user mode單用戶工作狀態,root權限,用于系統維護,禁止遠程登陸
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)多用戶模式,但不支持網絡系統
# 3 - Full multiuser mode沒有圖形界面的,全功能的多用戶模式,登陸后進入圖形GUI模式
# 4 - unused系統未使用,保留
# 5 - X11帶圖形界面的,全功能的多用戶模式,登陸后進入圖形GUI模式
# 6 - reboot (Do NOT set initdefault to this)系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動
3.進程管理
top
free
ps
舉例(ps -ef |grep ssh)檢查ssh進程是否存在,-e是顯示所有進程,-f是全格式。
kill進程查看命令
舉例(kill -9 2358)將指定進程號(2358)的進程殺死,-9就是強制殺死。
ssh免密登錄
?軟件安裝
1.查詢linux系統中的所有軟件包
命令1:(yum list)查詢所有軟件 --進一步查詢可用(yum list | grep 軟件名),例如:(yum list | grep lrzsz)
命令2:(rpm -qa)查詢所有軟件--進一步查詢可用(rpm -qa |grep 軟件名),例如:(rpm -qa | grep lrzsz)
2.安裝(二進制文件直接下載解壓即可,例如jdk)
命令1:yum install lrzsz -y
命令2:wget + 鏈接
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
rpm查詢命令
(rpm -qa)查詢linux系統中的所有軟件包(rpm -qa lrzsz)
(rpm - q)查詢指定名稱的軟件包是否安裝(rpm - q? lrzsz)
(rpm - qi)查詢指定名稱軟件包的詳細信息(rpm - qi? lrzsz)
(rpm - ql)查詢指定名稱軟件包中所包括的文件列表(rpm - ql lrzsz)
(rpm - qf)查詢指定文件所屬的軟件包(rpm - qf lrzsz)
(rpm - qpi)查詢指定RPM包文件的詳細信息(rpm - qpi lrzsz)
(rpm - qpi)查詢指定RPM包中包含的文件列表(rpm - qpl lrzsz)
yum命令
(yum update)升級系統
(yum install httpd)安裝指定的軟件包
(yum update httpd)升級指定的軟件包
(yum remove httpd)移除指定的軟件包
(yum search httpd)刪除指定的軟件包
(yum list httpd)列出軟件的詳細信息
?
轉載于:https://www.cnblogs.com/wxinyu/p/8493405.html
總結
以上是生活随笔為你收集整理的Linux常用命令及解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wireshark专栏——仅保存过滤出的
- 下一篇: Linux系统里文件句柄数量修改