一、會話和作業(yè)的概念:

公司主營業(yè)務:成都網(wǎng)站建設、網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出新城免費做網(wǎng)站回饋大家。
1、進程:Linux自身運行的獨立程序。
2、進程組:進程組是一個或多個進程的集合。
_____________________________________________________
Linux包括三種不同類型的進程,每種進程都有自己的特點和屬性:
3、交互進程 —— 由一個shell啟動的進程。交互進程既可以在前臺運行,也可以在后臺運行。?
4、批處理進程 —— 這種進程和終端沒有聯(lián)系,是一個進程序列。?
5、監(jiān)控進程(也稱守護進程)—— linux系統(tǒng)啟動時啟動的進程,并在后臺運行。
_______________________________________________________________
6、會話:一個用戶登錄終端后會新建一個會話,它是和控制終端產(chǎn)生IO交互的過程。這個過程可以稱之為會話期。會話期可以產(chǎn)生一個 或 多個進程組的集合。(比喻打電話,首先要電話的接通,接通了才可以產(chǎn)生人與人之間的信息交互。在此會話期間可以產(chǎn)生一個或多個不同范疇的話題)
7、作業(yè):作業(yè)類似于用戶提交給系統(tǒng)的一個任務。一個作業(yè)可以包含一個或多個進程共同完成一個任務。(比喻會議上BOSS需要完成一個任務,根據(jù)需求可以分配到一個或多個人配合完成。)
8、作業(yè)控制:指的是控制正在運行的進程的行為。比如,用戶可以掛起一個進程,等一會兒再繼續(xù)執(zhí)行該進程。這樣用戶就能在多個獨立作業(yè)間進行切換。(比喻正在進行常規(guī)工作的員工,經(jīng)理突發(fā)一個事情需要協(xié)助處理。這位員工放下手上的工作(掛起)。首先處理經(jīng)理安排的事情,完事后再處理常規(guī)工作的事情。)
二、通過 date 和 sleep 命令理解前臺、后臺作業(yè)。date 命令是顯示系統(tǒng)時間,sleep 命令是設置延時。
1、前臺執(zhí)行命令:
1)、前臺執(zhí)行命令。輸入輸出都是按部就班,執(zhí)行完一個命令再執(zhí)行下一個命令,把結果打印出來。
紅色下劃線:date 查看當前日期時間。
黃色下劃線:sleep 10 延時10秒。
藍色下劃線:date 查看當前日期時間。
通過結果可以看出第一個 date 打印出日期時間后,延時10再執(zhí)行一個 date 打印日期時間。兩個時間相隔 10 秒。
2)、系統(tǒng)正在執(zhí)行前臺的命令時,再輸入命令是不會馬上執(zhí)行。要執(zhí)行完畢前面的命令才可以執(zhí)行后面輸入的命令。同樣用 date 和 sleep做實驗:
紅色下劃線:date 輸出當前日期時間。
黃色下劃線:sleep 60 系統(tǒng)執(zhí)行延時 60 秒的操作。 [root@localhost ~]#?用戶標識符沒有出現(xiàn)。雖然光標可以進行輸入,但輸入的? ? ls /tmp/ 命令并沒有馬上執(zhí)行,沒有輸出。因為此時,前臺正在執(zhí)行 sleep 60 延時60秒的指令。
紅色下劃線:等待 sleep 60 執(zhí)行完畢后,再執(zhí)行一個 date 輸出當前日期時間。兩個 date 之間時間相隔 60 秒。
黃色下劃線:待整條?date ; sleep 60 ; date 命令都執(zhí)行完畢后,再執(zhí)行剛才延時 60 秒時輸入的?ls /tmp/ 命令,輸出結果。
藍色下劃線:[root@localhost ~]# 用戶標識符出現(xiàn)才算前臺命令執(zhí)行完畢,可以繼續(xù)正常操作。
2、后臺執(zhí)行命令:
:命令后面使用 符號,可以讓命令在后臺執(zhí)行。
jobs:可以查看正在后臺運行的作業(yè)。
jobs選項:-l —— 除了列出作業(yè)號外,同時列出 PID。
? ? ? ? ? ? ?-r —— 列出僅僅在后臺運行的作業(yè)。
? ? ? ? ? ? ?-s —— 列出僅僅再后臺暫停的作業(yè)。
1)、后臺運行的命令進程不會影響到前臺命令進程。
紅色下劃線:sleep 30 —— 把 sleep? 30 丟到后臺運行。
黃色下劃線:通過 jobs 命令跟蹤進程情況。(Runing —— 正在運行,Done —— 完成)
綠色下劃線:sleep 后臺運行期間進行了 ls 和 tail 命令的查詢輸出,正常運作。
藍色下劃線:jobs 沒有輸出,代表 sleep 已經(jīng)完結,沒有后臺進程。
2)、掛起 和 中斷后臺運行的命令。
Ctrl+c:中斷后臺進程。Ctrl+z:掛起后臺進程。
jobs 命令可以查看到掛起的命令,不可以查看中斷的命令。
3)、jobs選項:-l —— 除了列出作業(yè)號外,同時列出 PID。
紅色下劃線:sleep 100 ,后臺運行延時100秒的程序。
黃色下劃線:jobs -l 列出所有后臺進程(-l —— 含作業(yè)號、PID、運行狀態(tài) 和 執(zhí)行的命令。)??
運行狀態(tài)有 Running 、Stopped?和 Done,后臺正在運行會顯示 Running,當運行完畢后用 jobs 查看會顯示 Done,并且命令后面的 符號也會消失。Done只出現(xiàn)一次,下次再用 jobs 查看后臺程序就沒有了系統(tǒng)曾提示過 Done 的命令。掛起正在運行的命令,后臺會顯示 Stopped 暫停狀態(tài)。
-r —— 列出僅僅在后臺運行的作業(yè)。
-s —— 列出僅僅再后臺暫停的作業(yè)。
1、alias 別名 系統(tǒng)別名的位置 ~/.bashrc
eg: alias cp='cp -i'
2、unlias 取消別名
3、arp 地址解析協(xié)議
-a 查看緩存表
-d 清除arp緩存表
-s 綁定IP與MAC地址
4、awk
-F 指定以什么為分割符
eg: awk '{print $1}' test.txt 打印第一列,默認以空格分隔
eg: awk -F ":" awk '{print $1 "" $2 "" $3}' test.txt
eg: awk '{if(NR19)printf $1 " "}' test.txt
5、basename 創(chuàng)建目錄 dirname 遞歸創(chuàng)建目錄
6、bash
-x 將執(zhí)行的腳本內容及輸出顯示到屏幕上
-n 不執(zhí)行腳本,檢查語法是否有問題
Linux shell常用命令匯總
對于經(jīng)常使用linux系統(tǒng)的博主來說,基本常用的shell命令是少不了的,下面為大家總結了Linux shell的常用命令,希望對大家有所幫助!
1.檢查遠程端口是否對bash開放:
echo /dev/tcp/8.8.8.8/53 echo "open"
2.讓進程轉入后臺:
Ctrl + z
3、將進程轉到前臺:
fg
4.產(chǎn)生隨機的十六進制數(shù),其中n是字符數(shù):
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抓取完整的網(wǎng)站目錄結構,存放到本地目錄中:
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.com/share/test/dir
24.執(zhí)行歷史記錄里的命令(這里是第100行):
!100
25.解壓:
unzip package_name.zip -d dir_name
26.輸入多行文字(CTRL + d 退出):
cat test.txt
27.創(chuàng)建空文件或清空一個現(xiàn)有文件:
\ test.txt
28.與Ubuntu NTP server同步時間:
ntpdate ntp.ubuntu.com
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.com: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參數(shù):
kill -l
54.在bash歷史記錄里禁止記錄最后一次會話:
kill -9 $$
55.掃描網(wǎng)絡尋找開放的端口:
nmap -p 8081 172.20.0.0/16
56.設置git email:
git config --global user.email "me@example.com"
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將數(shù)據(jù)發(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 ' ' = ;
ls會列舉出當前工作目錄的內容(文件或文件夾)。
mkdir 用于新建一個新目錄
顯示當前工作目錄
切換文件路徑,cd 將給定的文件夾(或目錄)設置成當前工作目錄。
刪除給定的目錄。
rm 會刪除給定的文件
cp 命令對文件進行復制
mv 命令對文件或文件夾進行移動,如果文件或文件夾存在于當前工作目錄,還可以對文件或文件夾進行重命名。
cat 用于在標準輸出(監(jiān)控器或屏幕)上查看文件內容
ail 默認在標準輸出上顯示給定文件的最后10行內容,可以使用tail -n N 指定在標準輸出上顯示文件的最后N行內容。
less 按頁或按窗口打印文件內容。在查看包含大量文本數(shù)據(jù)的大文件時是非常有用和高效的。你可以使用Ctrl+F向前翻頁,Ctrl+B向后翻頁。
grep 在給定的文件中搜尋指定的字符串。grep -i “” 在搜尋時會忽略字符串的大小寫,而grep -r “” 則會在當前工作目錄的文件中遞歸搜尋指定的字符串。
這個命令會在給定位置搜尋與條件匹配的文件。你可以使用find -name 的-name選項來進行區(qū)分大小寫的搜尋,find -iname 來進行不區(qū)分大小寫的搜尋。
tar命令能創(chuàng)建、查看和提取tar壓縮文件。tar -cvf 是創(chuàng)建對應壓縮文件,tar -tvf 來查看對應壓縮文件,tar -xvf 來提取對應壓縮文件。
gzip 命令創(chuàng)建和提取gzip壓縮文件,還可以用gzip -d 來提取壓縮文件。
unzip 對gzip文檔進行解壓。在解壓之前,可以使用unzip -l 命令查看文件內容。
help會在終端列出所有可用的命令,可以使用任何命令的-h或-help選項來查看該命令的具體用法。圖就省略啦,會有詳細列表顯示出來的。
whatis 會用單行來描述給定的命令,就是解釋當前命令。
exit用于結束當前的終端會話。
ping 通過發(fā)送數(shù)據(jù)包ping遠程主機(服務器),常用與檢測網(wǎng)絡連接和服務器狀態(tài)。
who能列出當前登錄的用戶名。
su 用于切換不同的用戶。即使沒有使用密碼,超級用戶也能切換到其它用戶。
uname會顯示出關于系統(tǒng)的重要信息,如內核名稱、主機名、內核版本、處理機類型等等,使用uname -a可以查看所有信息。
df查看文件系統(tǒng)中磁盤的使用情況–硬盤已用和可用的存儲空間以及其它存儲設備。你可以使用df -h將結果以人類可讀的方式顯示。
ps顯示系統(tǒng)的運行進程。
top命令會默認按照CPU的占用情況,顯示占用量較大的進程,可以使用top -u 查看某個用戶的CPU使用排名情況。
shutdown用于關閉計算機,而shutdown -r用于重啟計算機。這個我就不試了......
Linux必學的60個命令:
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
系統(tǒng)管理相關命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
網(wǎng)絡操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
系統(tǒng)安全相關命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux的優(yōu)點
1、Linux由眾多微內核組成,其源代碼完全開源;
2、Linux繼承了Unix的特性,具有非常強大的網(wǎng)絡功能,其支持所有的因特網(wǎng)協(xié)議,包括TCP/IPv4、TCP/IPv6和鏈路層拓撲程序等,且可以利用Unix的網(wǎng)絡特性開發(fā)出新的協(xié)議棧;
3、Linux系統(tǒng)工具鏈完整,簡單操作就可以配置出合適的開發(fā)環(huán)境,可以簡化開發(fā)過程,減少開發(fā)中仿真工具的障礙,使系統(tǒng)具有較強的移植性;
當前名稱:linux會話命令,linux查看會話
當前鏈接:http://chinadenli.net/article47/dseceej.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、虛擬主機、移動網(wǎng)站建設、網(wǎng)站維護、ChatGPT、外貿(mào)網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)