中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中常用命令是哪些

發布時間:2021-10-14 17:19:31 來源:億速云 閱讀:128 作者:小新 欄目:云計算

這篇文章主要為大家展示了“linux中常用命令是哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux中常用命令是哪些”這篇文章吧。

linux常用命令大全

Linux命令常用結構 :Command [-option] [argument]

Command:即是要運行的命令的本身,說白了就是一個軟件(程序);

Option:是選項(可選),選項是控制命令運行狀態和行為的(可多個選項一起,如df -hT);

Argument:是參數(可選),是命令要操作對象如文件、路徑、數據、目錄等;

在指令的第一部分按[tab]鍵一下為[命令補全],兩下為所有命令選擇,在非第一部分按[tab]鍵兩下為[文件補全];

linux命令區分大小寫;

開關機

sync :把內存中的數據寫到磁盤中(關機、重啟前都需先執行sync)

shutdown -r now或reboot :立刻重啟

shutdown -h now :立刻關機

shutdown -h 20:00 :預定時間關閉系統(晚上8點關機,如果現在超過8點,則明晚8點)

shutdown -h +10 :預定時間關閉系統(10分鐘后關機)

shutdown -c :取消按預定時間關閉系統

系統信息

who am i :查看當前使用的終端

who 或 w : 查看所有終端

uname -m :顯示機器的處理器架構(如x86_64)

cat /proc/version :查看linux版本信息

uname -r :顯示正在使用的內核版本

lsb_release -a :查看系統發行版本(如CentOS7)(沒這個命令先安裝yum install -y redhat-lsb-core)

rpm -qa | grep kernel-devel :查看kernel-devel版本(安裝軟件時編譯內核用,故需要保持內核版本一致性)

yum install -y "kernel-devel-uname-r == $(uname -r)":安裝和Linux內核版本匹配的kernel-devel

hostnamectl set-hostname 主機名:修改主機名(包括靜態、瞬態和靈活主機名,如有域名解析記得手動更新/etc/hosts)

date :顯示系統日期 (date +%Y/%m/%d : 顯示效果如2018/01/01)

date 070314592018.00 :設置時間(格式為月日時分年.秒 )

clock -w :將時間修改保存到 BIOS

cal 2018 :顯示2018年的日歷表

clear :清空命令行

ifconfig :顯示或設置網卡(查ip等)(類似windows中ipconfig)

ping -c 3 www.baidu.com :測試百度與本機的連接情況( -c 3表示測試3次)

cat /proc/cpuinfo :顯示CPU的信息

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU個數

cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每個物理CPU的核數

cat /proc/cpuinfo| grep "processor"| wc -l :查看邏輯CPU個數即線程數

系統性能

top :動態實時顯示cpu、內存、進程等使用情況(類似windows下的任務管理器)

top -d 2 -p 7427 :-d為畫面更新的秒數,默認5秒,-p為指定進程pid的信息

vmstat 2 10 :每隔2秒采集一次服務器狀態,采集10次(查看內存、io讀寫狀態、cpu)

free -h :查看系統內存及虛擬內存使用情況

df -h :顯示磁盤的空間使用情況

iostat :可查io讀寫、cpu使用情況

sar -u 3 5 :查看cpu使用情況(3秒一次,共5次)

sar -d 2 3 :評估磁盤性能

ps aux|grep firefox :獲取火狐的進程號(PID)(可查看進程占用cpu、內存百分比及進程觸發指令的路徑)

kill -9 進程號 :強制殺死進程

systemctl :查看正在運行的服務

文件和目錄

cd:是Change Directory的縮寫,用來切換工作目錄,語法:cd [相對或絕對路徑或特殊符號]

cd :進入該用戶的主目錄 ~(root用戶為/root,其他用戶為/home/用戶名)

cd .. :返回上一級目錄(注意要空格)

cd - :返回上次所在目錄

cd / :返回根目錄 (絕對路徑)

cd ./目錄1/目錄2 :進入當前目錄下的子目錄(相對路徑)

pwd :顯示工作路徑(Print Working Directory 的縮寫)

ls:是List的縮寫,用于列出目錄下的文件,語法:ls [選項][目錄或文件名]

ls -a :列出文件下所有的文件,包括以“.“開頭的隱藏文件

ls -lh *.log :列出文件的詳細信息(.log結尾,*為通配符代表任意多個字符)

file 文件或目錄 :顯示文件的類型(目錄、text、zip、shell腳本等)

mkdir dir1 :創建目錄(dir1)(mkdir為make directory的縮寫)

mkdir -p ./dir1/dir2 :遞歸創建目錄(-p:父目錄不存在時,同時建立)

touch a.txt :創建文件a.txt

rm:可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉; 語法:rm (選項)(參數)(注:如果參數中含有目錄,則必須加上-r選項);

rm 文件 :刪除文件

rm -r 目錄或文件 :刪除目錄(及目錄下所有文件)(非空也可以)

rm -rf 目錄或文件 :強制刪除,如:rm -rf * 為刪除當前目錄下所有文件

find -inum 1842601 -exec rm -rf {} ; :刪除亂碼文件或目錄(會提示找不到此文件或文件夾但其實已經刪除了)(上傳中文文件會亂碼,rm命令刪除不了)(先使用ls -i命令找到inode,即文件或目錄前面的數字字符串,如1842601;)

mv:是move的縮寫,可以用來剪切移動文件、目錄或者將文件改名;

語法:mv 源文件 目標文件(改名)或目錄(移動);

mv a b :移動或者重命名一個文件或者目錄(存在即移動目錄或覆蓋文件,不存在即改名)

mv /opt/git/g /opt/a :移動g到opt目錄下并改名為a(a目錄不存在,若存在則為移動g到a目錄下)

mv -t ./test a.txt b.txt :移動多個文件到某目錄下

cp:復制文件或目錄;cp命令可以將單個或多個文件復制到一個已經存在的目錄下;

常用:cp -ai 文件或目錄 目標目錄;

cp -ai /opt/abc /opt/git/ :復制abc目錄(或文件)到git目錄下(選項a表示文件的屬性也復制、目錄下所有文件都復制;i表示覆蓋前詢問)

ln:link的縮寫,用于建立硬(軟)鏈接,常用于軟件安裝時建軟鏈接(類似快捷方式)到PATH;

語法:ln [-s] 源文件 目標文件

ln -s /opt/a.txt /opt/git/ :對文件創建軟鏈接(快捷方式不改名還是a.txt)

ln -s /opt/a.txt /opt/git/b :(快捷方式改名為b)(下面的一樣可以改名)

ln -s /opt/mulu /opt/git/ :對目錄創建軟鏈接

ln /opt/a.txt /opt/git/ :對文件創建硬鏈接

文件權限

chmod [-R] 777文件或目錄 :設置權限(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

注: r(read)對應4,w(write)對應2,x(execute)執行對應1;

-R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數,那么該目錄下的所有文件的屬組都會更改)

chmod [{ugoa}{+-=}{rwx}][文件或目錄] :如chmod u-w,g+x,o=r test.txt為user(擁有者)去掉寫權限,group(所屬組)加上執行權限,other(其他人)權限等于只讀;

chown [-R] admin:root /opt/ :變更文件及目錄的擁有者和所屬組(-R遞歸處理所有文件和文件夾,admin為擁有者,root為所屬者)

文件查找

locate a.txt :在系統全局范圍內查找文件名包含a.txt字樣的文件(比find快);

locate:原理是updatedb會把文件系統中的信息存放到數據庫databases中(但一般一天才執行一次,所以locate找不到新創建的文件,需要先手動執行updatedb,再執行locate),locate從數據庫中讀數據;

find:在目錄結構中搜索文件,并執行指定的操作

語法:find pathname -options [-print -exec ...]

pathname :為 find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄(find查找范圍為目標目錄及其子目錄所有文件及目錄);

-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } ;,注意{ }和\;之間的空格;

-print: find命令將匹配的文件輸出到標準輸出;

find /home -mtime -2 :在/home下查最近2*24小時內改動過的文件

find . -size +100M :在當前目錄及子目錄下查找大于100M的文件

find . -type f :f表示文件類型為普通文件(b/d/c/p/l/f 分別為塊設備、目錄、字符設備、管道、符號鏈接、普通文件)

find . -mtime +2 -exec rm {} ; :查出更改時間在2*24小時以前的文件并刪除它**

find . -name '*.log' -exec grep -i hello {} ; -print :在當前目錄及子目錄下查出文件名后綴為.log的文件并且該文件內容包含了hello字樣并打印,-exec 命令 {} \表示對查出文件操作,-i表示不區分大小寫;

find . -name '*.log'|grep hello :在當前目錄及子目錄下查出文件名后綴為.log的文件并且文件名包含了hello字樣(grep用來處理字符串);

grep -i 'HELLO' . -r -n :在當前目錄及子目錄下查找文件內容中包含hello的文件并顯示文件路徑(-i表示忽略大小寫)

which java :在環境變量$PATH設置的目錄里查找符合條件的文件,并顯示路徑(查詢運行文件所在路徑)

whereis java :查看安裝的軟件的所有的文件路徑(whereis 只能用于查找二進制文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令)

查看文件的內容

cat [-n] 文件名 :顯示文件內容,連行號一起顯示

less 文件名 :一頁一頁的顯示文件內容(搜索翻頁同man命令)

head [-n] 文件名 :顯示文件頭n行內容,n指定顯示多少行

tail [-nf] 文件名:顯示文件尾幾行內容,n指定顯示多少行,f用于實時追蹤文件的所有更新,常用于查閱正在改變的日志文件(如tail -f -n 3 a.log 表示開始顯示最后3行,并在文件更新時實時追加顯示,沒有-n默認10行)

sed -n '2,$p' ab :顯示第二行到最后一行;

sed -n '/搜索的關鍵詞/p' a.txt :顯示包括關鍵詞所在行

less a.txt |grep 搜索的關鍵詞 :顯示包括關鍵詞所在行

cat -n a.txt |grep 搜索的關鍵詞 :顯示包括關鍵詞所在行(連行號一起顯示)

cat filename |grep abc -A10 :查看filename中含有abc所在行后10行(A10)、前10行(B10)內容

less a.txt|grep git :顯示關鍵詞所在行,管道符”|”它只能處理由前面一個指令傳出的正確輸出信息,對錯誤信息信息沒有直接處理能力。然后傳遞給下一個命令,作為標準的輸入;

cat /etc/passwd |awk -F ':' '{print $1}' :顯示第一列

文本處理

ls -l>file :輸出重定向>(改變原來系統命令的默認執行方式):ls -l命令結果輸出到file文件中,若存在,則覆蓋

cat file1 >>file :輸出重定向之cat命令結果輸出追加到file文件(>表示覆蓋原文件內容,>>表示追加內容)

ls fileno 2>file : 2>表示重定向標準錯誤輸出(文件不存在,報錯信息保存至file文件);

cowsay <a.txt :重定向標準輸入’命令<文件’表示將文件做為命令的輸入(為從文件讀數據作為輸入)

sed -i '4,$d' a.txt :刪除第四行到最后一行($表示最后一行)(sed可以增刪改查文件內容)

sed -i '$a 增加的字符串' a.txt :在最后一行的下一行增加字符串

sed -i 's/old/new/g' a.txt :替換字符串;格式為sed 's/要替換的字符串/新的字符串/g' 修改的文件

grep -o '關鍵詞' test.log|wc -l :統計某個關鍵詞在某個文件中出現的次數(如出現3次輸出3)

vim 文件:編輯查看文件(同vi)

用戶與權限

useradd 用戶名 :創建用戶

userdel -r 用戶名 :刪除用戶:(-r表示把用戶的主目錄一起刪除)

usermod -g 組名 用戶名 :修改用戶的組

usermod -aG 組名 用戶名 :將用戶添加到組

groups test :查看test用戶所在的組

cat /etc/group |grep test :查看test用戶詳情:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell

passwd [ludf] 用戶名 :用戶改自己密碼,不需要輸入用戶名,選項-d:指定空口令,-l:禁用某用戶,-u解禁某用戶,-f:強迫用戶下次登錄時修改口令

groupadd 組名 :創建用戶組

groupdel 用戶組 :刪除組

groupmod -n 新組名 舊組名 :修改用戶組名字

su - 用戶名:完整的切換到一個用戶環境(相當于登錄)(建議用這個)(退出用戶:exit)

su 用戶名 :切換到用戶的身份(環境變量等沒變,導致很多命令要加上絕對路徑才能執行)

sudo 命令 :以root的身份執行命令(輸入用戶自己的密碼,而su為輸入要切換用戶的密碼,普通用戶需設置/etc/sudoers才可用sudo)

SSH 免密登錄

#使用OpenSSH生成密鑰

ssh-keygen -t rsa

#公鑰信息寫入authorized_keys文件中并設置權限

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

#生成putty的私鑰(Putty使用的私鑰格式和OpenSSH生成的有點不同,需要轉換一下putty才能使用)

把私鑰id_rsa下載到本地后后綴改成.ppk,如id_rsa_ip_commonuser.ppk

使用puttygen工具的“Load”讀取id_rsa文件,點擊“Save private key”保留私鑰;

putty關聯私鑰文件即可登陸服務器

磁盤管理

fdisk -l :查看磁盤信息(可查各個硬盤容量大小、可查各硬盤分區情況)(各硬盤或硬盤下分區必須掛載到某個目錄才能被使用)

fdisk /dev/sdb :對硬盤sdb創建分區

mkfs.ext4 /dev/vdb1 :修改格式化硬盤分區vdb1的文件系統類型為ext4

df -TH :顯示磁盤的空間使用情況、文件系統類型、掛載點(硬盤掛載了才會顯示)

df -h /var/log :(顯示log所在分區(掛載點)、目錄所在磁盤及可用的磁盤容量)

du -sm /var/log/ | sort -rn* : 根據占用磁盤空間大小排序(MB)某目錄下文件和目錄大小

mount /dev/sda1 /mnt :硬盤sda1掛載到/mnt目錄(mount 裝置文件名 掛載點)

mount -t cifs -o username=luolanguo,password=win用戶賬號密碼,vers=3.0 //10.2.1.178/G /mnt/usb :遠程linux 共享掛載windows的U盤,G為U盤共享名,需設置U盤共享

mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS :掛載iso文件

umount /dev/sda1 :取消掛載(umount 裝置文件名或掛載點)

壓縮、解壓和打包備份

單純tar僅為打包(多個文件包成一個大文件),加上參數-j(bzip2格式.bz2)、-z(gzip格式.gz)可以備份、壓縮(-c)、解壓(-x),備份一般比壓縮多加參數-p(保留原本文件的權限與屬性),-C可以指定解壓到特定目錄;bzip2、gzip只能對單一文件壓縮;

file 文件名 :查文件類型(可看是用哪一種方式壓縮的)

tar -zxvf a.tar.gz -C ./test :解壓tar.gz到當前目錄下的test目錄

tar -zcvf /opt/c.tar.gz ./a/ :壓縮tar.gz(把當前目錄下的a目錄及目錄下所有文件壓縮為 /opt/目錄下的c.tar.gz,這樣tar -zxvf c.tar.gz解壓出來帶有目錄a)

tar -jxvf a.tar.bz2 :解壓tar.bz2(到當前目錄)

tar -jcvf c.tar.bz2 ./a/ :壓縮tar.bz2(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下為c.tar.gz2)

unzip a.zip :解壓zip(到當前目錄)

unzip -o mdmtest.war -d /opt/mdm :推薦使用unzip解壓war包(-o覆蓋原有文件,-d指定文件解壓后存儲的目錄)

zip -r c.zip ./a/ :壓縮zip(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下為c.zip

bzip2 -k file1 : 壓縮一個 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)

bzip2 -d -k file1.bz2 : 解壓一個叫做 'file1.bz2'的文件

gzip file1 : 壓縮一個叫做 'file1'的文件(gzip格式)(不能保留源文件)

gzip -9 file1 : 最大程度壓縮

gzip -d file1.gz : 解壓縮一個叫做 'file1'的文件

軟件安裝

盡量用yum源(apt-get)安裝,不行就rpm、deb包安裝,能不手動編譯的就不要手動編譯;

dpkg只能安裝已經下載到本地機器上的deb包. apt-get能在線下載并安裝deb包,能更新系統,且還能自動處理包與包之間的依賴問題,這個是dpkg工具所不具備的;

rpm 只能安裝已經下載到本地機器上的rpm 包. yum能在線下載并安裝rpm包,能更新系統,且還能自動處理包與包之間的依賴問題,這個是rpm 工具所不具備的;

yum、rpm安裝文件分布在/usr的bin、lib、share不同目錄,不用配置PATH,直接用命令,但可用命令卸載更新;

手動編譯軟件,默認位置為/usr/local下不同子目錄下,不用配置PATH直接用命令(手動指定安裝路徑需要加PATH),使得軟件更新和刪除變得很麻煩。編譯安裝的軟件沒有卸載命令,卸載就是把所有這個軟件的文件刪除。

二進制(Binaries)包

yum安裝

在線下載并安裝rpm包,適用于CentOS、Fedora、RedHat及類似系統

yum install epel-releas :安裝第三方yum源EPEL(企業版 Linux 附加軟件包的簡稱)

yum repolist enabled :顯示可用的源倉庫(/etc/yum.repos.d/目錄下配置)

yum install yum-fastestmirror :自動選擇最快的yum源

yum list installed |grep java :列出已安裝的軟件(查看已安裝的JDK)

yum remove java-1.8.0-openjdk.x86_64 :卸載軟件(卸載JDK)

*yum list java ** :列出已安裝和可安裝的軟件(查看yum庫中的JDK包)

yum install [-y] java-1.8.0-openjdk :安裝軟件JDK(-y自動安裝)(推薦這種方式安裝)

yum install docker-ce-18.03.1.ce :安裝指定版本的軟件(已知docker-ce.x86_64 18.03.1.ce-1.el7.centos,則rpm包名為docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm)

**yum check-update [kernel] ** :列出所有可更新的軟件(檢查更新kernel)

yum update tomcat :更新軟件(可所有)

rpm -ql 軟件名稱 :查詢yum安裝路徑(軟件名稱可通過rpm -qa|grep java)

yum info kernel :查看軟件(kernel)的信息

yum clean all :(清除緩存,使最新的yum配置生效)

yum安裝常用工具

yum install -y unzip zip :安裝壓縮、解壓縮命令(zip、unzip)

rpm包手動下載安裝

yum中沒有時用,適用于CentOS、Fedora、RedHat及類似系統;

wget -P /opt https://網址 :下載到/opt目錄

rpm -ivh wps-office-版本.x86_64.rpm :安裝rpm包(包要先下載)(要先裝依賴包)

rpm -e wps-office :卸載軟件(注意不要軟件名不要版本號)

rpm -qa |grep wps :查看安裝的rpm包(可用于查詢rpm包是否被安裝)

rpm -ql 軟件名稱 :查看rpm包安裝路徑(軟件名稱可通過rpm -qa|grep java)

apt方式安裝

安裝deb包,類似yum安裝,適用于Debian, Ubuntu 以及類似系統;

apt-get install aptitude :安裝aptitude工具,實現依賴自動安裝,依賴版本自動降級或升級

aptitude install 軟件 :安裝軟件(推薦這種方式安裝)

apt-cache search 軟件 :搜索軟件

apt-get install 軟件 :安裝軟件

apt-get purge 軟件 :卸載軟件(包括配置文件,只刪除軟件purge換成remove)

apt-get upgrade :更新所有已安裝的軟件包

apt-get update :升級列表中的軟件包

apt-get clean :從下載的軟件包中清理緩存

deb包安裝

適用于Debian, Ubuntu 以及類似系統;

dpkg -i package.deb :安裝一個 deb 包

dpkg -r package_name :從系統刪除一個 deb 包

dpkg -l |grep chrome :查詢系統中所有已經安裝的 deb 包

dpkg -L 軟件名稱 :查軟件安裝的文件

解壓即用

大多數非開源的商業軟件都采取這種辦法;

二進制(Binaries)包如apache-jmeter-3.3.tgz,下載復制解壓到/opt,然后然后將該軟件的 bin 目錄加入到 PATH 中即可(vim /etc/profile export PATH=$PATH:/opt/apache-jmeter-3.3/bin);

軟件自己的模塊/包管理器

如python:系統的源中不可能包含該軟件的所有模塊; 系統的源中該軟件的模塊的更新要遠遠滯后于最新版本;手動安裝python,并用Python 自帶的 pip 安裝模塊(類似yum);

**pip install redis ** :安裝python軟件包redis

**pip unstall redis ** :卸載

**pip show --files redis ** :pip查看已安裝的包

pip list --outdated :檢查更新

源代碼(Source)包

編譯安裝

源代碼包(一般有install文件)如hello-2.2.tar.bz2,下載復制到/opt;

tar -jxvf hello-2.2.tar.bz2 :解壓

./configure --prefix=/opt/軟件目錄名稱 :為編譯做好準備,加上 prefix 手動指定安裝路徑

make :編譯

make install :安裝

make clean :刪除安裝時產生的臨時文件

vim /etc/profile export PATH=$PATH:/opt/目錄/bin :手動指定安裝路徑需要加path

hello :執行軟件:看INSTALL和README文件(是否源碼包、如何安裝、執行都看這兩個)

rm -rf 軟件目錄名稱 :卸載軟件

服務與進程

netstat -ntlp :查看服務器所有被占用端口

netstat -lnp|grep 端口號/進程號/進程名 :根據查端口是否打開確認服務是否啟動,配合ps命令可查服務占用的端口

常用參數:

-p:獲取進程名、進程號;

-n:禁用域名解析功能,查出IP且速度快;

-l:只列出監聽中的連接;

-t:只列出 TCP協議的連接。

示例:ps aux|grep tomcat netstat -lnp|grep 進程號 :查tomcat服務占用的端口; ps aux|grep 進程號/進程啟動命令/服務名 :進程查看命令ps(可查進程狀態;進程占用cpu、內存;配合netstat根據某服務端口查出進程號用于殺進程,查服務啟動命令及服務路徑 )

以上是“linux中常用命令是哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普格县| 陆良县| 奉贤区| 栾城县| 黄龙县| 上杭县| 永丰县| 信阳市| 团风县| 安多县| 黄龙县| 靖州| 古浪县| 怀柔区| 浑源县| 朔州市| 维西| 湖北省| 双牌县| 灵石县| 祁连县| 团风县| 广宗县| 武功县| 项城市| 合山市| 凤阳县| 吉木乃县| 禹城市| 绥阳县| 广州市| 双牌县| 从江县| 肇州县| 昌吉市| 玛多县| 桦甸市| 桃江县| 开原市| 正镶白旗| 揭阳市|