linux命令
快捷鍵
1、Tab 補全
2、上鍵/下鍵 前一條或者後一條命令
1 查看ip
ip addr show 或者 ifconfig -a
如下ip爲192.168.216.142
[root@localhost /]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.216.142 netmask 255.255.254.0 broadcast 192.168.217.255
inet6 fe80::20c:29ff:fe76:8819 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:76:88:19 txqueuelen 1000 (Ethernet)
RX packets 19607 bytes 1705221 (1.6 MiB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 329 bytes 60843 (59.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2 目錄
2.1 切換目錄cd cd ~ 當前賬號根目錄 cd / 切換到根目錄 cd ../ 上級目錄 cd ./ 當前目錄 cd home 當前目錄下的home文件夾
2.2 文件目錄屬性ls
ls 當前文件夾下所有文件與文件夾目錄列表
屬性:
-a :全部的文件,連同隱藏檔( 開頭爲 . 的文件) 一起列出來(常用)
-d :僅列出目錄本身,而不是列出目錄內的文件數據(常用)
-l :長數據串列出,包含文件的屬性與權限等等數據;(常用) ls -l即 ll
例子:
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]# ll
總用量 28
lrwxrwxrwx. 1 root root 7 7月 16 2018 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 1月 10 18:31 boot
.......
說明:
Linux中第一個字符代表這個文件是目錄、文件或鏈接文件等等。
當爲[ d ]則是目錄
當爲[ - ]則是文件;
若是[ l ]則表示爲鏈接文檔(link file);
若是[ b ]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
若是[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
接下來的字符中,以三個爲一組,且均爲『rwx』 的三個參數的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(execute)。 要注意的是,這三個權限的位置不會改變,如果沒有權限,就會出現減號[ - ]而已。
每個文件的屬性由左邊第一部分的10個字符來確定
從左至右用0-9這些數字來表示。
第0位確定文件類型,第1-3位確定屬主(該文件的所有者)擁有該文件的權限。
第4-6位確定屬組(所有者的同組用戶)擁有該文件的權限,第7-9位確定其他用戶擁有該文件的權限。
其中,第1、4、7位表示讀權限,如果用"r"字符表示,則有讀權限,如果用"-"字符表示,則沒有讀權限;
第2、5、8位表示寫權限,如果用"w"字符表示,則有寫權限,如果用"-"字符表示沒有寫權限;第3、6、9位表示可執行權限,如果用"x"字符表示,則有執行權限,如果用"-"字符表示,則沒有執行權限。
2.3 更改文件屬性chgrp
chgrp [-R] 屬組名 文件名
2.4 當前目錄pwd
[root@localhost lib64]# pwd
/lib64
2.5 創建目錄mkdir
mkdir 目錄名 (mkdir-p 目錄名 目錄存在,會覆蓋 )
[root@localhost opt]# ls
[root@localhost opt]# mkdir MyDir
[root@localhost opt]# ll
總用量 0
drwxr-xr-x. 2 root root 6 5月 14 17:32 MyDir
2.6 刪除目錄rmdir
rmdir [-mp] 目錄名稱
選項:
-m :配置文件的權限喔!直接配置,不需要看默認權限 (umask) 的臉色~
-p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創建起來!
例子:
[root@localhost opt]# ll
總用量 0
drwxr-xr-x. 2 root root 6 5月 14 17:32 MyDir
[root@localhost opt]# rmdir MyDir
[root@localhost opt]# ll
總用量 0
[root@localhost opt]#
2.7 複製文件或目錄cp
cp [-adfilprsu] 來源檔(source) 目標檔(destination
cp [options] source1 source2 source3 .... directory
scp --- 主要是在不同的Linux系統之間來回copy文件
選項與參數:
-a:相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
-d:若來源檔爲連結檔的屬性(link file),則複製連結檔屬性而非文件本身;
-f:爲強制(force)的意思,若目標文件已經存在且無法開啓,則移除後再嘗試一次;
-i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l:進行硬式連結(hard link)的連結檔創建,而非複製文件本身;
-p:連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
-r:遞歸持續複製,用於目錄的複製行爲;(常用)
-s:複製成爲符號連結檔 (symbolic link),亦即『捷徑』文件;
-u:若 destination 比 source 舊才升級 destination !
例:將文件夾myDir2複雜到myDir文件夾下。名稱取爲myDir2
[root@VM_0_13_centos opt]# cp -a myDir2 /opt/myDir/myDir2
[root@VM_0_13_centos opt]# ls
myDir myDir2 rh
[root@VM_0_13_centos opt]# cd myDir
[root@VM_0_13_centos myDir]# ls
myDir2
[root@VM_0_13_centos myDir]#
2.8 移動文件與目錄,或修改名稱mv
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
選項與參數:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,纔會升級 (update)
例:myDir2移動到opt目錄下。
[root@VM_0_13_centos opt]# ls
myDir rh
[root@VM_0_13_centos opt]# cd myDir/
[root@VM_0_13_centos myDir]# mv -i myDir2 /opt
[root@VM_0_13_centos myDir]# ls
[root@VM_0_13_centos myDir]# cd ../
[root@VM_0_13_centos opt]# ls
myDir myDir2 rh
[root@VM_0_13_centos opt]#
3 文件
3.1 新建文件touch
touch 文件名
[root@localhost opt]# touch myFile.txt
[root@localhost opt]# ll
總用量 0
drwxr-xr-x. 2 root root 6 5月 14 17:49 myDir
-rw-r--r--. 1 root root 0 5月 14 18:04 myFile.txt
[root@localhost opt]#
注:創建文件並寫入內容:echo 內容 >文件
3.2 刪除文件rm
rm [選項] 文件
選項說明:
-f -force 忽略不存在的文件,強制刪除,無任何提示
-i --interactive 進行交互式地刪除
-r | -R --recursive 遞歸式地刪除列出的目錄下的所有目錄和文件,非常危險的選項
-v --verbose 詳細顯示進行的步驟
例子:
1、常規刪除a.txt文件
[root]# rm a.txt
2、強行刪除file.log文件
[root]# rm -f file.log
3、刪除dirname目錄下的所有東西
[root]# rm -R dir dirname
4、刪除以 -f 開頭的文件
[root]# touch ./-f
[root]# ls ./-f
./-f
[root]# rm ./-f
或者使用
[root]# touch -- -f
[root]# ls -- -f
-f
[root]# rm -- -f
3.3 解壓文件
zip
zip -r archive_name.zip filename (-r是壓縮文件)
unzip archive_name.zip (解壓文件在當前文件下)
unzip archive_name.zip -d new_dir (解壓文件可以將文件解壓縮至一個你指定的的目錄,使用-d參數)
tar
只是一個打包工具,並不負責壓縮。下面是如何打包一個目錄:
tar -cvf archive_name.tar directory_to_compress
打包之後如何解包:
tar -xvf archive_name.tar
上面這個解包命令將會將文檔解開在當前目錄下面。當然,你也可以用下面的這個命令來解包到指定的路徑:
tar -xvf archive_name.tar -C new_dir (解包的參數是-C,不是小寫c)
rar
將/etc 目錄壓縮爲etc.rar 命令爲:
rar a etc.rar /etc
將etc.rar 解壓 命令爲:
rar x etc.rar
unrar -e etc.tar
參數: -c參數是建立新的存檔 -v參數詳細顯示處理的文件 -f參數指定存檔或設備 -x:解壓 -t:查看內容 -r:向壓縮歸檔文件末尾追加文件
說明:
tar -xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar -xZvf file.tar.Z //解壓tar.Z
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
3.4 linux之間上傳文件
1、把本機的文件傳給目的服務器:
scp get66.pcap [email protected]:/super
備註:把本機get66.pcap拷貝到147這臺服務器的super目錄下,需要提供147的密碼
2、在本機上執行scp,把遠端的服務器文件拷貝到本機上:
scp [email protected]:/super/dns.pcap /
3、拷貝目錄下的所有文件:
scp -r /super/ [email protected]:/
備註:把/super/目錄下的所有文件,拷貝到145服務器根目錄下
3.5 windows上傳linux
方式一:
需要在linux主機上,安裝上傳下載工具包rz及sz (xshell中選ZMODEM,安裝命令 yum install -y lrzsz)。 (https://www.linuxidc.com/Linux/2015-05/117975.htm)
輸入rz將彈出文件選擇。
方式二: sftp操作get/put
4 其餘常用命令
4.1 啓動命令
命令前加上bash 或 sh 或 ./
需要權限,如 chmod u+x *.sh
如 ./startup.sh
4.2 查看進程
方法一
1、查Tomcat
ps -aux | grep tomcat
2、查java
jps或者ps -aux | grep java
方法二:直接使用 netstat -anp | grep portno
即:netstat –apn | grep 8080
1、ps 命令用於查看當前正在運行的進程。
grep 是搜索
例如: ps -ef | grep java
表示查看所有進程裏 CMD 是 java 的進程信息
2、ps -aux | grep java
-aux 顯示所有狀態
ps
4.3 kill 命令用於終止進程
例如: kill -9 [PID]
-9 表示強迫進程立即停止
通常用 ps 查看進程 PID ,用 kill 命令終止進程
4.4 賦予文件夾權限
chmod 777 *
4.5 切換root
su root
4.6 命令管理員權限sudo
例:sudo nginx (管理員權限啓動nginx)
4.7 顯示文件一定行的內容
從第1000行開始,顯示2000行。即顯示1000~2999行
cat input_file | tail -n +1000 | head -n 2000
5 vi常用
打開文件:vi 文件名
如:vi server.xml
命令模式:
i 切換到輸入模式,以輸入字符。
x 刪除當前光標所在處的字符。
: 切換到底線命令模式,以在最底一行輸入命令
輸入模式
在命令模式下按下i就進入了輸入模式。
在輸入模式中, :
字符按鍵以及Shift組合,輸入字符
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除光標前一個字符
DEL,刪除鍵,刪除光標後一個字符
方向鍵,在文本中移動光標
HOME/END,移動光標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換光標爲輸入/替換模式,光標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程序
w 保存文件
注:強退:q!