包含Linux系統(tǒng)sl命令的詞條

Linux shell常用命令

Linux shell常用命令匯總

10年積累的網站設計、做網站經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有靖宇免費網站建設讓你可以放心的選擇與我們合作。

對于經常使用linux系統(tǒng)的博主來說,基本常用的shell命令是少不了的,下面為大家總結了Linux shell的常用命令,希望對大家有所幫助!

1.檢查遠程端口是否對bash開放:

echo /dev/tcp/8.8.8.8/53 echo "open"

2.讓進程轉入后臺:

Ctrl + z

3、將進程轉到前臺:

fg

4.產生隨機的十六進制數,其中n是字符數:

openssl rand -hex n

5.在當前shell里執(zhí)行一個文件里的命令:

source /home/user/file.name

6.截取前5個字符:

${variable:0:5}

7.SSH debug 模式:

ssh -vvv user@ip_address

8.SSH with pem key:

ssh user@ip_address -i key.pem

9.用wget抓取完整的網站目錄結構,存放到本地目錄中:

wget -r --no-parent --reject "index.html*" -P /home/user/dirs

10.一次創(chuàng)建多個目錄:

mkdir -p /home/user/{test,test1,test2}

11.列出包括子進程的進程樹:

ps axwef

12.創(chuàng)建 war 文件:

jar -cvf name.war file

13.測試硬盤寫入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

14.測試硬盤讀取速度:

hdparm -Tt /dev/sda

15.獲取文本的md5 hash:

echo -n "text" | md5sum

16.檢查xml格式:

xmllint --noout file.xml

17.將tar.gz提取到新目錄里:

tar zxvf package.tar.gz -C new_dir

18.使用curl獲取HTTP頭信息:

curl -I

19.修改文件或目錄的時間戳(YYMMDDhhmm):

touch -t 0712250000 file

20.用wget命令執(zhí)行ftp下載:

wget -m

21.生成隨機密碼(例子里是16個字符長):

LANG=c /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

22.快速備份一個文件:

cp some_file_name{,.bkp}

23.訪問Windows共享目錄:

smbclient -U "DOMAIN\user" //dc.domain點抗 /share/test/dir

24.執(zhí)行歷史記錄里的命令(這里是第100行):

!100

25.解壓:

unzip package_name.zip -d dir_name

26.輸入多行文字(CTRL + d 退出):

cat test.txt

27.創(chuàng)建空文件或清空一個現有文件:

\ test.txt

28.與Ubuntu NTP server同步時間:

ntpdate ntp.ubuntu點抗

29.用netstat顯示所有tcp4監(jiān)聽端口:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

30.qcow2鏡像文件轉換:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

31.重復運行文件,顯示其輸出(缺省是2秒一次):

watch ps -ef

32.所有用戶列表:

getent passwd

33.Mount root in read/write mode:

mount -o remount,rw /

34.掛載一個目錄(這是不能使用鏈接的情況):

mount --bind /source /destination

35.動態(tài)更新DNS server:

nsupdate eof p="" /eof

update add $HOST 86400 A $IP

send

EOF

36.遞歸grep所有目錄:

grep -r "some_text" /path/to/dir

37.列出前10個最大的文件:

lsof / | awk '{ if($7 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

39.打開Vim并跳到文件末:

vim + some_file_name

40.Git 克隆指定分支(master):

git clone git@github點抗 :name/app.git -b master

41.Git 切換到其它分支(develop):

git checkout develop

42.Git 刪除分支(myfeature):

git branch -d myfeature

43.Git 刪除遠程分支

git push origin :branchName

44.Git 將新分支推送到遠程服務器:

git push -u origin mynewfeature

45.打印歷史記錄中最后一次cat命令:

!cat:p

46.運行歷史記錄里最后一次cat命令:

!cat

47.找出/home/user下所有空子目錄:

echo /dev/tcp/8.8.8.8/53 echo "open"

1.檢查遠程端口是否對bash開放:

find /home/user -maxdepth 1 -type d -empty

48.獲取test.txt文件中第50-60行內容:

test.txt sed -n '50,60p'

49.運行最后一個命令(如果最后一個命令是mkdir /root/test, 下面將會運行: sudo mkdir /root/test):

sudo !!

50.創(chuàng)建臨時RAM文件系統(tǒng) – ramdisk (先創(chuàng)建/tmpram目錄):

mount -t tmpfs tmpfs /tmpram -o size=512m

51.Grep whole words:

grep -w "name" test.txt

52.在需要提升權限的.情況下往一個文件里追加文本:

echo "some text" | sudo tee -a /path/file

53.列出所有kill signal參數:

kill -l

54.在bash歷史記錄里禁止記錄最后一次會話:

kill -9 $$

55.掃描網絡尋找開放的端口:

nmap -p 8081 172.20.0.0/16

56.設置git email:

git config --global user.email "me@example點抗 "

57.To sync with master if you have unpublished commits:

git pull --rebase origin master

58.將所有文件名中含有”txt”的文件移入/home/user目錄:

find -iname "*txt*" -exec mv -v {} /home/user \;

59.將文件按行并列顯示:

paste test.txt test1.txt

60.shell里的進度條:

pv data.log

61.使用netcat將數據發(fā)送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

62.將tabs轉換成空格:

expand test.txt test1.txt

63.Skip bash history:

space cmd

64.去之前的工作目錄:

cd -

65.拆分大體積的tar.gz文件(每個100MB),然后合并回去:

split –b 100m /path/to/large/archive /path/to/output/files

cat files* archive

66.使用curl獲取HTTP status code:

curl -sL -w "%{http_code}\\n" -o /dev/null

67.設置root密碼,強化MySQL安全安裝:

/usr/bin/mysql_secure_installation

68.當Ctrl + c不好使時:

Ctrl + \

69.獲取文件owner:

stat -c %U file.txt

70.block設備列表:

lsblk -f

71.找出文件名結尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;

72.找出文件名有tab縮進符的文件

find . -type f -exec egrep -l $'\t' {} \;

73.用”=”打印出橫線:全選復制放進筆記

printf '%100s\n' | tr ' ' = ;

Linux/Unix里,ln -s這個命令是做什么的?我是小白,謝謝你。

用來建立一個軟鏈接,而ln -s /usr/lib/libX11.3 libX11.sl的意思為:為/usr/lib/libX11.3文件建立一個名為libX11.sl的軟鏈接。

命令格式:

ln [參數][源文件或目錄][目標文件或目錄]

參數

1、-b 刪除,覆蓋以前建立的鏈接

2、-d 允許超級用戶制作目錄的硬鏈接

3、-f 強制執(zhí)行

4、-i 交互模式,文件存在則提示用戶是否覆蓋

5、-n 把符號鏈接視為一般目錄

6、-s 軟鏈接(符號鏈接)

7、-v 顯示詳細的處理過程

擴展資料

軟鏈接解釋

1、軟鏈接,以路徑的形式存在。類似于Windows操作系統(tǒng)中的快捷方式。

2、軟鏈接可以 跨文件系統(tǒng) ,硬鏈接不可以。

3、軟鏈接可以對一個不存在的文件名進行鏈接。

4、軟鏈接可以對目錄進行鏈接。

硬鏈接:

1、硬鏈接,以文件副本的形式存在。但不占用實際空間。

2、不允許給目錄創(chuàng)建硬鏈接。

3、硬鏈接只有在同一個文件系統(tǒng)中才能創(chuàng)建。

為什么ps命令Sl+

linux ps命令介紹

來源《鳥哥的linux私房菜》

ps:將某個時間點的程序運作情況擷取下來

?

[root@linux ~]# ps aux

[root@linux ~]# ps -lA

[root@linux ~]# ps axjf

參數:

-A :所有的 process 均顯示出來,與 -e 具有同樣的效用;

-a :不與 terminal 有關的所有 process ;

-u :有效使用者 (effective user) 相關的 process ;

x :通常與 a 這個參數一起使用,可列出較完整信息。

輸出格式規(guī)劃:

l :較長、較詳細的將該 PID 的的信息列出;

j :工作的格式 (jobs format)

-f :做一個更為完整的輸出。

特別說明:

由于 ps 能夠支持的 OS 類型相當的多,所以他的參數多的離譜!

而且有沒有加上 - 差很多!詳細的用法應該要參考 man ps 喔!

范例1:將目前屬于您自己這次登入的 PID 與相關信息列示出來

?

[root@linux ~]# ps -l

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

0 S 0 5881 5654 0 76 0 - 1303 wait pts/0 00:00:00 su

4 S 0 5882 5881 0 75 0 - 1349 wait pts/0 00:00:00 bash

4 R 0 6037 5882 0 76 0 - 1111 - pts/0 00:00:00 ps

?

# 上面這個信息其實很多喔!各相關信息的意義為:

# F 代表這個程序的旗標 (flag), 4 代表使用者為 super user;

# S 代表這個程序的狀態(tài) (STAT),關于各 STAT 的意義將在內文介紹;

# PID 沒問題吧?。烤褪沁@個程序的 ID ?。〉紫碌?PPID 則上父程序的 ID;

# C CPU 使用的資源百分比

# PRI 這個是 Priority (優(yōu)先執(zhí)行序) 的縮寫,詳細后面介紹;

# NI 這個是 Nice 值,在下一小節(jié)我們會持續(xù)介紹。

# ADDR 這個是 kernel function,指出該程序在內存的那個部分。如果是個 running

# 的程序,一般就是『 - 』的啦!

# SZ 使用掉的內存大??;

# WCHAN 目前這個程序是否正在運作當中,若為 - 表示正在運作;

# TTY 登入者的終端機位置啰;

# TIME 使用掉的 CPU 時間。

# CMD 所下達的指令為何???

# 仔細看到每一個程序的 PID 與 PPID 的相關性為何喔!上頭列出的三個程序中,

# 彼此間可是有相關性的吶!

范例2:列出目前所有的正在內存當中的程序

?

[root@linux ~]# ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.1 1740 540 ? S Jul25 0:01 init [3]

root 2 0.0 0.0 0 0 ? SN Jul25 0:00 [ksoftirqd/0]

root 3 0.0 0.0 0 0 ? S Jul25 0:00 [events/0]

.....中間省略.....

root 5881 0.0 0.3 5212 1204 pts/0 S 10:22 0:00 su

root 5882 0.0 0.3 5396 1524 pts/0 S 10:22 0:00 bash

root 6142 0.0 0.2 4488 916 pts/0 R+ 11:45 0:00 ps aux

?

? USER:該 process 屬于那個使用者賬號的?

? PID :該 process 的號碼。

? %CPU:該 process 使用掉的 CPU 資源百分比;

? %MEM:該 process 所占用的物理內存百分比;

? VSZ :該 process 使用掉的虛擬內存量 (Kbytes)

? RSS :該 process 占用的固定的內存量 (Kbytes)

? TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網絡連接進主機的程序。

? STAT:該程序目前的狀態(tài),主要的狀態(tài)有:

o R :該程序目前正在運作,或者是可被運作;

o S :該程序目前正在睡眠當中 (可說是 idle 狀態(tài)啦!),但可被某些訊號 (signal) 喚醒。

o T :該程序目前正在偵測或者是停止了;

o Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆尸) 程序的狀態(tài)

? START:該 process 被觸發(fā)啟動的時間;

? TIME :該 process 實際使用 CPU 運作的時間。

? COMMAND:該程序的實際指令為何?

范例3:以范例一的顯示內容,顯示出所有的程序

?

[root@linux ~]# ps -lA

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

4 S 0 1 0 0 76 0 - 435 - ? 00:00:01 init

1 S 0 2 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0

1 S 0 3 1 0 70 -5 - 0 worker ? 00:00:00 events/0

.....以下省略.....

范例4:列出類似程序樹的程序顯示

?

[root@linux ~]# ps -axjf

PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND

0 1 0 0 ? -1 S 0 0:01 init [3]

1 2 0 0 ? -1 SN 0 0:00 [ksoftirqd/0]

.....中間省略.....

1 5281 5281 5281 ? -1 Ss 0 0:00 /usr/sbin/sshd

5281 5651 5651 5651 ? -1 Ss 0 0:00 \_ sshd: dmtsai [priv]

5651 5653 5651 5651 ? -1 S 500 0:00 \_ sshd: dmtsai@pts/0

5653 5654 5654 5654 pts/0 6151 Ss 500 0:00 \_ -bash

5654 5881 5881 5654 pts/0 6151 S 0 0:00 \_ su

5881 5882 5882 5654 pts/0 6151 S 0 0:00 \_ bash

5882 6151 6151 5654 pts/0 6151 R+ 0 0:00 \_ ps -axjf

范例5:找出與 cron 與 syslog 這兩個服務有關的 PID 號碼

?

[root@linux ~]# ps aux | egrep '(cron|syslog)'

root 1539 0.0 0.1 1616 616 ? Ss Jul25 0:03 syslogd -m 0

root 1676 0.0 0.2 4544 1128 ? Ss Jul25 0:00 crond

root 6157 0.0 0.1 3764 664 pts/0 R+ 12:10 0:00 egrep (cron|syslog)

在預設的情況下, ps 僅會列出與目前所在的 bash shell 有關的 PID 而已,所以, 當我使用 ps -l 的時候,只有三個 PID (范例一)。

當前文章:包含Linux系統(tǒng)sl命令的詞條
當前鏈接:http://muchs.cn/article10/ddieido.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站營銷虛擬主機、品牌網站制作域名注冊、響應式網站、自適應網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

營銷型網站建設