① shell 總共有幾個命令
$SHELL是一個環境變數,它記錄用戶所使用的Shell類型。你可以用命令: # Shell-name 來轉換到別的Shell,這里Shell-name是你想要嘗試使用的Shell的名稱,如ash等。這個命令為用戶又啟動了一個Shell,這個Shell在最初登錄的那個Shell之後,稱為下級的Shell或子Shell。 使用命令: # exit 可以退出這個子Shell。使用不同的Shell的原因在於它們各自都有自己的特點,下面做一個簡單的介紹: 1.ash ash Shell是由Kenneth Almquist編寫的,是linux中佔用系統資源最少的一個小Shell,它只包含24個內部命令,因而使用起來很不方便。 2.bash bash是Linux系統默認使用的Shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell的縮寫,內部命令一共有40個。Linux使用它作為默認的Shell是因為它有以下的特色: (1)可以使用類似DOS下面的doskey的功能,用上下方向鍵查閱和快速輸入並修改命令。 (2)自動通過查找匹配的方式,給出以某字串開頭的命令。 (3)包含了自身的幫助功能,你只要在提示符下面鍵入help就可以得到相關的幫助。 3.ksh ksh是Korn Shell的縮寫,由Eric Gisin編寫,共有42條內部命令。該Shell最大的優點是幾乎和商業發行版的ksh完全相容,這樣就可以在不用花錢購買商業版本的情況下嘗試商業版本的性能了。 4.csh csh是Linux比較大的內核,它由以William Joy為代表的共計47位作者編成,共有52個內部命令。該Shell其實是指向/bin/tcsh這樣的一個Shell,也就是說,csh其實就是tcsh。 5.zch zch是Linux最大的Shell之一,由Paul Falstad完成,共有84個內部命令。如果只是一般的用途,是沒有必要安裝這樣的Shell的。Bourne Shell (/usr/old/bin/sh)
C Shell (/usr/bin/csh)
Korn Shell (/usr/bin/ksh)
POSIX Shell (/usr/bin/sh)
①輸入一個系統不認識的命令(如#fuck_pig)獲得系統提示
②#e cho $0 (適用:sh/ksh)
③#ps |grep $$|awk 『{print $4}』
④#e cho $SHELL(用戶默認的Shell,但不實時反映當前shell)還有在你的/etc/shells中你可以看到更多的shell:
# /etc/shells: valid login shells/bin/ash/bin/csh/bin/sh/usr/bin/es
/usr/bin/ksh/bin/ksh/usr/bin/rc
/usr/bin/tcsh/bin/tcsh/usr/bin/zsh/bin/sash/bin/zsh/usr/bin/esh/bin/dash/bin/bash/bin/rbash不同的 shell 有著不同的功能,且也彼此各異、或說"大同小異"。
常見的 shell 主要分為兩大主流:sh:burne shell (sh)
② 分享Windows7系統常用shell命令介紹
Windows7系統常用shell命令介紹
Windows7系統相對以前版本的Windows系統,擁有更高的穩定性、兼容性、人性化等等各式各樣的服務。而Windows 7中的shell命令行,則是許多用戶都沒有發現的又一重要更新,Windows 7 shell是Windows 7系統的控制台。對於熟悉了命令行的人來說,用鍵盤調用程序比滑鼠更快更省力。
shell:Profile
該命令能打開用戶的總目錄。一般它的總目錄的位置是c:usersusername。可以通過點擊系統開始菜單上的.用戶名稱訪問。
shell:Personal
該命令可以打開當前用戶的文檔文件夾。也可以通過點擊開始菜單中的我的文檔進行訪問。
shell:SendTo
該命令可以打開「發送到」文件夾。
shell:Public
該命令可以打開公用共享文件夾。
shell:Common Startup和shell:Startup
該命令可以顯示哪些程序在系統啟動時會自動啟動。
shell:ConnectionsFolder
該命令可以顯示當前網路連接。通常的方法是單擊網路和共享中心,然後選擇更改適配器設置查看。
shell:programs和shell:Common Programs
這兩個命令可以訪問當前用戶和系統用戶開始菜單中的程序列表windows7系統下載。
shell:AppData和shell:Local AppData
這兩個命令可以打開Roaming Application Data文件夾Local Application Data文件夾。這兩個文件夾在日常應用中不常用到的。
shell:Cookies和shell:cache
這兩個命令是查看Internet Explorer存儲信息最快捷的方式。
shell:Profile
當前登錄用戶的根目錄。
shell:Searches
當前登錄用戶的搜索文件夾,保存了已經存儲過的搜索結果。
shell:Links
當前登錄用戶的鏈接文件夾,保存了Internet Explorer瀏覽器的導航面板。
編輯點評:用戶可以用「Shell:」命令可以用資源管理器打開的項目一次完需要很多步驟才能完成的任務,並且使用時的語法也很簡單。但許多用戶都不知道 shell命令有哪些,與可實現的操作。
③ Shell常用命令
1.ls: 以默認方式顯示當前文件列表。
2.ls -a: 顯示所有文件包括隱藏文件。
3.ls -l: 顯示文件屬性包括大小、日期等,還有是否可讀可寫。
4.ls -lt: 按照修改時間排序顯示文件
1.cd dir: 切換到當前目錄下的dir文件。
2.cd /: 切換到跟目錄。
3.cd ..:切換到上級目錄。
4.cd ../..: 切換到上二級目錄。
1.cp source target:將文件source復制為target。
2.cp /root/source/ .: 將root下的文件source復制到當前目錄。
1.rm file: 刪除某一個文件。
2.rm -f file:刪除時不進行提示,可以配合r使用。
3.rm -rf dir:刪除當前目錄下叫dir的整個目錄。
1.mv file1 file2: 將文件file1改名為file2。
2.mv file dir: 將文件file移動到dir目錄下。
1.diff file1 file2:比較兩個文件。
2.diff dir1 dir2: 比較兩個目錄。
1.cat file: 查看文件file。
1.vi file:編輯文件file。
2.vi 原基本使用及命令:輸入命令的方式為先按[ESC]鍵,然後輸入 :w(寫入文件),:w!(不詢問方式寫入文件),:wq保存並退出,:q退出,q!不保存退出
1.mkdir dir:創建一個空目錄dir。
2.mkdir -p dir/dir2:遞歸創建兩個目錄。
1.tar xvf flie.tar: 解包。
2.tar cvf file.tar: 打包。
3.tar zxvf file.tar.gz: 解壓。
4.tar zcvf file.tar.gz Dirname:壓縮。
5.unzip file.zip: 解壓。
6.zip file.zip dirname: 壓縮。
7.rar x file.rar: 解壓。
8.rar a file.rar DirName: 壓縮。
1.gizp -d file.gz: 解壓。
2.gzip file.tar.gz和.tgz: 壓縮。
1.netstat [-acCeFghilMnNoprstuvVwx][-A<網路類型>][--ip]
1.ssh -l iser1 192.168.1.2 : 使用用戶名用戶名user1登陸到192.168.1.2
1.touch file.txt:創建一個txt文件。
④ Linux shell常用命令
Linux shell常用命令匯總
對於經常使用linux系統的博主來說,基本常用的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里執行一個文件里的命令:
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*" http://hostname/ -P /home/user/dirs
10.一次創建多個目錄:
mkdir -p /home/user/{test,test1,test2}
11.列出包括子進程的進程樹:
ps axwef
12.創建 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 http://www.example.com
19.修改文件或目錄的時間戳(YYMMDDhhmm):
touch -t 0712250000 file
20.用wget命令執行ftp下載:
wget -m ftp://username:password@hostname
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.執行歷史記錄里的命令(這里是第100行):
!100
25.解壓:
unzip package_name.zip -d dir_name
26.輸入多行文字(CTRL + d 退出):
cat > test.txt
27.創建空文件或清空一個現有文件:
\> test.txt
28.與Ubuntu NTP server同步時間:
ntpdate ntp.ubuntu.com
29.用netstat顯示所有tcp4監聽埠:
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.動態更新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 [email protected]: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.創建臨時RAM文件系統 – ramdisk (先創建/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 "[email protected]"
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將數據發送到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" www.example.com -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 ' ' = ;
⑤ Shell腳本常用命令
Linux常用命令
ls常用命令
cd常用命令
rm常用命令
grep常用命令
grep命令用於查找文件里符合條件的字元串。
常用指令名稱
-A
–after-context
顯示符合範本樣式的那一行之外及該行之後的內容
輸出內容:
aaaa // 該行高亮
bbbb
-b
–byte-offset
輸出匹配行並且在在該行前展示第幾行
輸出內容:
0: aaaa
-c
–count
輸出符合匹配字元串的行數
輸出內容:
1
其他命令
獲取當前界面元素
獲取任務列表
app入口
啟動應用
列出當前已連接的設備
輸出內容:
連接指定設備
例:(SERIAL的值為adb devices -l 輸出的值)
屏幕截圖
獲取屏幕截圖
錄制視頻
獲取錄制視頻
測試界面性能
輸出中會包含錄制階段所發生的動畫幀的相關性能信息。以下命令使用 gfxinfo 收集指定軟體包名稱的界面性能數據:
輸出最近幀性能信息
檢查網路診斷信息
netstats 服務可提供自設備上次啟動以來收集的網路使用情況統計信息
檢查電池診斷信息
batterystats 服務會生成關於設備電池用量的統計數據
options列表
使用以下命令以計算機可讀的 CSV 格式生成 batterystats 輸出:
輸出內容:
⑥ Shell常用命令
功能:顯示文件和目錄信息
功能:切換目錄
功能:文件
功能: 刪除文件或目錄
功能:將文件移動或者改名
功能:比較兩個文件
功能:查看文件內容
功能:文件讀寫操作
功能:創建文件
功能:tar是打包命令。
功能:解壓和壓縮
功能:用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據
功能:遠程登陸到其他unix主機
功能:用來修改文件時間戳,或者新建一個不存在的文件
⑦ shell的shell 命令
常用命令
cat 文件名 輸出文件內容到基本輸出(屏幕 or 加>fileName 到另一個文件)
cb 格式化源代碼
chmod //change mode,改變文件的許可權
cp
date 當前的時間和日期
echo $abc 在變數賦值之後,只需在變數前面加一個$去引用.
lint 語法檢查程序
ls dir
man help
more type
查看磁碟空間狀況
ps 查看當前進程狀況
who 你的用戶名和終端類型
定義變數 name=abc? (bash/pdksh) || set name = abc (tcsh)
mkdir 創建目錄
rmdir 刪除目錄
cd 進入目錄
rm 刪除文件
more 顯示文件
echo 顯示指定文本
mv 改文件名 /移動文件
pwd 顯示目錄路徑命令
⑧ 超實用的adb與adb shell常用命令匯總
adb(android Debug Bridge),SDK自帶的工具,可實現橋接功能,實現PC和android設備的交互
adb shell:基於Android linux系統操作,放在安卓設備的system/bin目錄下,手機端的命令
一:adb常用命令
1. PC連接android設備
(PC與android設備連接同一個wifi,或處於同一個區域網)
連接:adb connect ip:5555
斷開連接:adb disconnect ip
查看連接設備的信息:adb devices
獲取設備的狀態:adb get-state
2. 重啟adb server
打開adb服務:adb start-service
關閉adb服務:adb kill-service
3. 安裝卸載軟體
安裝:adb install apkpath(某個apk)
adb install -r :強制安裝
卸載: adb uninstall package(可用adb shell pm list packages查看包名)
4. 列印日誌
列印android系統日誌:adb logcat
將日誌列印並保存指定文件夾:adb logcat > /Users/apple/Desktop/log.txt
終止進程:control+C
列印mpsys,mpstate,logcat的輸出,用於分析錯誤:adb bugreport
5. PC與android設備上文件復制
android設備上文件復制到PC上:adb pull
PC上文件推至android設備:adb push
6.重新掛載system分區為可寫,需要root許可權./system分區默認掛載為只讀,但有些操作比如給android系統添加命令,刪除自帶應用等需對系統進行寫操作,得重新掛載為可寫
adb shell
su
或:adb root
adb remount 重新掛載文件系統,獲得可寫的許可權(默認情況是只有可讀許可權的),使用adb remount 的前提是要有root許可權
7. 刪除系統應用
adb root
adb remount
adb shell
cd system/app
rm *apk
二:adb shell命令
adb shell 進入系統子目錄,exit 退出
1. pm命令
列出系統應用的所有包名:adb shell pm list packages 可用grep來過濾:adb shell pm list packages | grep 關鍵字
清除應用數據與緩存:adb shell pm clear <packagename>
2. am命令
啟動應用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通過adb shell mpsys activity activities | grep mFocusedActivity查看
強制停止應用:adb shell am force-stop <packagename>
3. input命令
模擬點擊事件,點擊坐標點(x,y):adb shell input tap x y
模擬滑動事件,從(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2
發送文本內容:adb shell input text
模擬按下home:adb shell input keyevent KRYCODE_HOME
4. screencap命令
截屏:adb shell screencap
5. 查看網路狀態命令
查看當前網路狀態:adb shell netstat
通過配置文件配置和管理網路連接:adb shell netcfg
查看網路信息:ifconfig
測試網路聯網狀態:ping
5.其它相關命令
查看當前終端中進程:adb shell ps
獲取cpu信息:adb shell cat /proc/cpuinfo
查看內存信息:adb shell cat /proc/meminfo
查看屏幕解析度:adb shell wm size
查看設備ip地址:adb shell ifconfig | grep Mask
查看實時資源佔用情況:adb shell top
⑨ PowerShell 基本語法及常用命令
PowerShell常用命令:
一 Get類
1.Get-Command : 得到所有PowerShell命令,獲取有關 cmdlet 以及有關 Windows PowerShell 命令的其他元素的基本信息。 包括Cmdlet、Alias、Function。
2.Get-Process : 獲取所有進程
3.Get-Help : 顯示有關 Windows PowerShell 命令和概念的信息
4.Get-History : 獲取在當前會話中輸入的命令的列表
5.Get-Job : 獲取在當前會話中運行的 Windows PowerShell 後台作業
6.Get-FormatData : 獲取當前會話中的格式數據
7.Get-Event : 獲取事件隊列中的事件
8.Get-Alias : 獲取當前會話的別名
9.Get-Culture :獲取操作系統中設置的當前區域性
12.Get-Member : 獲取對象的屬性和方法。
13.Get-Random : 從集合中獲取隨機數或隨機選擇對象
14.Get-UICulture : 獲取操作系統中當前用戶界面 (UI) 區域性設置
15.Get-Unique : 從排序列表返回唯一項目
16.Get-Variable :獲取當前控制台中的變數
17.Get-EventLog : 獲取本地或遠程計算機上的事件日誌或事件日誌列表中的事件
18.Get-ChildItem : 獲取一個或多個指定位置中的項和子項
19.Get-Content : 獲取指定位置的項的內容
20.Get-ItemProperty :獲取指定項的屬性
21.Get-WmiObject : 獲取 Windows Management Instrumentation (WMI) 類的實例或可用類的相關信息
22.Get-Location :獲取當前工作位置的相關信息(如:F:\Users\TaoMin )
23.Get-PSDrive:獲取當前會話中的 Windows PowerShell 驅動器
24.Get-Item:獲取位於指定位置的項
25.Get-Process :獲取在本地計算機或遠程計算機上運行的進程
26.Get-Service : 獲取本地或遠程計算機上的服務
27.Get-Transaction :獲取當前(活動)事務
28.Get-ExecutionPolicy :獲取當前會話中的執行策略
二.Set類 (set類命令一般都含有參數)
1.Set-Alias : 在當前 Windows PowerShell 會話中為 cmdlet 或其他命令元素創建或更改別名(替代名稱)
2.Set-PSDebug :打開和關閉腳本調試功能,設置跟蹤級別並切換 strict 模式
3.Set-StrictMode :建立和強制執行表達式、腳本和腳本塊中的編碼規則
4.Set-Date :將計算機上的系統時間更改為指定的時間
5.Set-Variable :設置變數的值,如果該變數還不存在,則創建該變數
6.Set-PSBreakpoint :在行、命令或者變數上設置斷點
7.Set-Location :將當前工作位置設置為指定的位置
8.Set-Item :將項的值更改為命令中指定的值
9.Set-Service :啟動、停止和掛起服務並更改服務的屬性
10.Set-Content :在項中寫入內容或用新內容替換其中的內容
11.Set-ItemProperty :創建或更改某一項的屬性值
12.Set-WmiInstance :創建或更新現有 Windows Management Instrumentation (WMI) 類的實例
13.Set-ExecutionPolicy :更改 Windows PowerShell 執行策略的用戶首選項。
三.Write類
1.Write-Host : 將自定義輸出內容寫入主機。類似於.net的 write()或者writeline()功能
2.Write-Progress :在 Windows PowerShell 命令窗口內顯示進度欄
3.Write-Debug :將調試消息寫入控制台
4.Write-Verbose:將文本寫入詳細消息流
5.Write-Warning :寫入警告消息
6.Write-Error : 將對象寫入錯誤流
7.Write-Output : 將指定對象發送到管道中的下一個命令;如果該命令是管道中的最後一個命令,則在控制台上顯示這些對象
8.Write-EventLog :將事件寫入事件日誌
PowerShell變數、常量、數組:
一、變數
PowerShell的變數無需預定義,可直接使用。當使用一個變數時,該變數被自動聲明。
變數以 $ 符號開頭。如: $a
PowerShell普通變數:
1.給變數賦值:
方式一:
$a = "This is a string"
$b = 123
$c = 0.125
方式二:
Set-Variable var 100
Set-Variable var1 」test「
Set-Variable va2 800
2.獲取變數值
get-variable var #獲取單個變數值
get-variable var* #獲取多個變數值
3.清空變數值
clear-variable var
4.刪除變數
remove-variable var
5.連接兩個字元串變數
$a = "This is the 1st string"
$b = "This is the 2nd string"
a + " and " + $b
$c
結果:This is the 1st string and This is the 2nd string
6.變數的方法
$date = Get-Date #獲取當前時間
$date.AddDays(3) #當前時間加三天
PowerShell特殊變數:
強制指定變數類型:
一般不需要為PowerShell的變數指定類型。但是也可以強制指定變數類型。
如:[int] $b = 5
常見變數類型如下:
二、常量
三、數組
PowerShell注釋用法:
PowerShell運算符用法:
運算符如下:
1.算術二元運算符:
2.賦值運算符
3.邏輯運算符
PowerShell函數用法:
用法一如下:(函數中改變變數值並不影響實際值)
執行結果:
用法二如下:(函數中變數值的改變要用$Script:var的形式)
執行結果:
PowerShell條件控制的用法:
一、循環類
1.foreach的用法
用法一如下:
執行結果:
用法二如下:直接獲取管道數據
執行結果:
2.while的用法
用法一如下:
n -le 5) #當 n
$n++
}
執行結果:
用法一如下:
n
n -ne 3) #當$n<>3時進行循環操作
執行結果:
用法一如下:
n
n -gt 3) #當$n>3時停止操作
執行結果:
二、分支類
1.if用法
if語法結構如下:
用法如下:
執行結果:
2.switch用法
switch語法結構如下:
用法一如下: switch(表達式)
執行結果:
用法二如下:switch -casesensitive (表達式)表示區分大小寫
執行結果: It's Monday
用法三如下:switch -regex(表達式)表示正則表達式匹配
執行結果:字母+數字,匹配為:day6
用法四如下:switch -regex(表達式)表示正則表達式匹配 表達式可為數組
執行結果:字母+數字,匹配為:day5
用法五如下:switch -wildcard (表達式)表示通配符匹配
執行結果:day2,匹配為:day2
三、跳轉類
1.break用法:break語句出現在foreach、for、while、switch等結構中時,break語句將使windows powershell立即退出整個循環。
用法如下:
執行結果:
2.continue用法:continue語句出現在foreach、for、while等循環結構中時,continue語句將使windows powershell立即退出某一次輪循環,並繼續下一輪循環。
用法如下:
執行結果:
PowerShell拋出異常的Throw用法:
用法如下:
返回結果:danger 及詳細錯誤信息
PowerShell獲取出錯信息的用法:
用法如下:
function one
{
get-process -ea stop #-ea定義錯誤發生以後該如何繼續執行,意同-ErrorAction
get-childitem ada -ErrorAction stop #此處有錯誤 路徑ada不存在
get-process -ErrorAction stop
}
返回結果:報出錯誤信息
PowerShell單步調試的用法:
用法如下:
執行結果:會出現逐步調試的對話框
本文轉自 https://www.cnblogs.com/feng-zi/p/9935874.html
⑩ linux操作系統的shell命令有哪些
1 文件與目錄操作命令
1.1文件內容查詢命令 grep、fgrep、egrep
語法:grep[選項][查找模式][文件名1,文件名2,……]
選項:
-E 每個模式作為一個擴展的正則表達式對待
-F 每個模式作為一組固定字元串對待,而不作為正則表達式
-i 比較時不區分大小寫
-l 顯示首次匹配匹配串所在的文件名並用換行符將其分開。當在文件中多次出現匹配串時,不重復顯示次文件名;
-x 只顯示整行嚴格匹配的行
1.2文件查找命令 find、locate
語法:
find 起始目錄 尋找條件 操作以名稱和文件屬性查找
選項: -name『字串『 查找文件名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-lname『字串『 查找文件名匹配所給字串的所有符號鏈接文件,字串內可用通配符*、?、[]。
-gid n 查找屬於ID號為n的用戶組的所有文件。
-uid n 查找屬於ID號為n的用戶的所有文件。
-group『字串『 查找屬於用戶組名為所給字串的所有的文件。
-user『字串『 查找屬於用戶名為所給字串的所有的文件。
-path『字串『 查找路徑名匹配所給字串的所有文件,字串內可用通配符*、?、[]。
-perm 許可權 查找具有指定許可權的文件和目錄,許可權的表示可以如711、644。
-type x 查找類型為 x的文件,
語法:locate 相關字
1.3文件的復制、刪除和移動命令 文件復制命令
[選項] 源文件或目錄 目標文件或目錄
選項:
- a 通常在拷貝目錄時使用
-d 拷貝時保留連接
-f 刪除已經存在的目標文件而不提示
-i 和f選項相反
-p 此時cp除復制源文件內容外,還將其修改的時間和訪問許可權也復制到新文件中
-r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下的所有的子目錄和文件,此時目標文件必須為一個目錄名;
-l 不作拷貝,只是鏈接文件文件移動命令
mv[選項] 源文件或目錄 目標文件或目錄
-i 互動式操作
-f 禁止互動式操作文件刪除命令
[選項] 文件…
-f 忽略不存在的文件,從不給出提示
-r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除
-i 進行互動式刪除 1.4文件鏈接命令
ln [選項] 目標 [鏈接名] 或 ln [選項] 目標 目錄
選項:
- s 建立符號鏈接
1.5目錄的創建和刪除命令 mkdir 創建一個目錄
語法: [選項] dirname
選項: - m 對新建目錄設置存取許可權
-p 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄。
rmdir 刪除空目錄
語法: rmdir [選項] dirname
選項:
- p 遞歸刪除目錄dirname,當子目錄刪除後其父目錄為空時,也一同被刪除。
1.6改變工作目錄,顯示目錄內容命令
1、改變工作目錄: cd [directory]
2、顯示當前工作的目錄的絕對路徑: pwd
3、顯示目錄內容: ls [選項] [目錄或是文件]
選項:
- a 顯示指定目錄下所有子目錄與文件,包括隱藏文件;
-c 按照文件的修改時間排序
-C 分成多列顯示各項
-d 如果參數是目錄,只顯示其名稱而不顯示其下的個文件
-F 在目錄名後面標記「/」,可執行文件後面標記「*」,符號鏈接後面標記「@」,管道(或FIFO)後面標記「|」,socket文件後面標記「=」。
-l 以長格式來顯示文件的詳細信息
-L 若指定的名稱為一個符號鏈接,則顯示鏈接所指向的文件
-t 顯示時按修改時間而不是名字排序
-u 顯示時按文件上次存取的時間而不是名字排序
4、改變文件或目錄的訪問許可權命令chmod [who] [+| - | = ] [mode] 文件名?
Who選項:
- u表示用戶,即文件和目錄的所有者
-g表示同組用戶
-o(other)表示其他用戶
-a (all)表示所有用戶
操作符號: + 添加某個許可權 - 取消某個許可權 = 賦予給定許可權並取消其他所有的許可權(如果有的話)
mode 選項:
- r 可讀
-w 可寫
-x 可執行 chgrp [-R] group filename? 改變目錄或文件所屬的組
chown [-Rv] 用戶或組 文件
1.7備份與壓縮命令
1、tar命令 為文件和目錄創建檔案語法:
tar [主選項+輔助選項] 文件或者目錄 : u 主選項
-c 創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,則選此項
-r 把要存檔的文件追加到檔案文件的末尾
-t 列出檔案文件的內容,查看已經備份了哪些文件;
-u 更新文件
-x 從檔案文件中釋放文件;
-u 輔助選項
-b 該選項為磁帶機設定的,其後跟一位數字,用來說明區塊的大小,系統預設值為20
-f 使用檔案文件或設備,這個選項通常是必選的
-k 保存已經存在的文件。例如把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋;
-m 在還原文件時,把所有文件的修改時間設定為現在;
-M 創建多卷的檔案文件,以便在幾個磁碟中存放;
-v 詳細報告tar處理的文件信息
-w 每一步都要求確認
-z 用gzip來壓縮/解壓縮文件
2、gzip命令 壓縮/解壓縮命令
語法:gzip [選項] 壓縮(解壓縮)的文件名
選項:
-c 將輸出寫到標准輸出上,並保留原有文件
-d 將壓縮文件解壓
-l 顯示每個壓縮文件的詳細信息
-r 遞歸式地查找指定目錄並壓縮其中的所有文件或者是解壓縮
-t 測試、檢查壓縮文件是否完整
-v 對每一個壓縮和解壓的文件,顯示文件名和壓縮比
3、unzip 命令 用MS windows下的壓縮軟體winzip壓縮的文件在linux系統下展開
語法:unzip [選項] 壓縮文件名.zip
選項: -x 文件列表 解壓縮文件,但不包括指定的file文件
-v 查看壓縮文件目錄,但不解壓
-t 測試文件有無損壞 ,但不解壓
-d 目錄 將壓縮文件解到指定目錄下
-z 只顯示壓縮文件的註解
-n 不覆蓋已經存在的文件
-o 覆蓋已經存在的文件且不要求用戶確認
-j 不重建文檔的目錄結構,把所有文件解壓到同一目錄下
1.8在LINUX環境下運行DOS命令 linux系統提供了一組稱為mtools的可移植工具,可以讓用戶輕松地從標準的DOS軟盤上讀寫文件和目錄。
mcd 目錄名 改變MSDOS目錄 m 源文件 目標文件 在MSDOS和UNIX之間復制文件;
mdel 目錄名 刪除MSDOS目錄 mdir 目錄名 顯示MSDOS目錄 mformat 驅動器號 在低級格式化的軟盤上創建MSDOS文件系統 rnlabel 驅動器號 產生MSDOS卷標 mmd 目錄名 刪除MSDOS目錄 mren 源文件 目標文件 重新命名已存在的MSDOS文件 mtype 文件名 顯示MSDOS文件的內容
2 設備管理命令
1)linux採用下面的形式定義一個IDE硬碟:/dev/hd[drive][partition]
2)SCSI硬碟使用同樣的機製表示: /dev/sd[drive][partition]
3)對於一般的LINUX分區,可以用mkfs將其格式化並生成文件系統,命令如下: mk2fs –c ;
4)裝載文件系統:
mount –t ext2 [-o optioms] partition mountpiont 其中,
-t為指定裝載文件系統的類型;
-o指定一些選項,如只讀ro,可讀可寫rw等等; partition定義分區名稱; mountpiont定義文件系統被裝載的目錄名稱。
5)裝載CD-ROM文件系統:mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)裝載軟碟機文件系統: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸載文件系統 CODE:[Copy to clipboard]umount /mnt/cdrom 磁帶設備的安裝要注意以下幾點:
1、 首先要選擇一個唯一的SCSI ID號,然後再將設備鏈接到適當的位置
2、 選擇驅動程序。
3、 生成設備文件。SCSI磁帶設備的主要設備號是9,次要設備號是0。設備文件名通常是/dev/nrst0(不支持回繞的磁帶設備)或/dev/nst0(支持回繞的磁帶設備) 用 ls /dev/*rst* 檢查磁帶設備文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以對塊長度、緩存、磁帶密度等參數進行一些設置,例如 mt setblk 20 將塊長度指定為20 mt setblk 0 指定塊程度沒有限制
5、 通過檢查系統的啟動信息可以確定系統是否識別了新的磁帶設備。用dmesg命令,查看是否有以下類似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 軟體包管理命令
3.1軟體安裝的步驟 在LINUX系統上安裝軟體的步驟有:
1、 查找所要安裝軟體的源文件
2、 把源文件解開放到一個目錄中,命令如下: tar zxvf <源文件名>;
3、 針對本操作系統配置源文件。可以是編輯make文件或其他文件,也可能是運行該軟體自帶的自動配置工具,如./configure
4、 make源文件,通常是運行make命令,即執行 make
5、 安裝二進制文件和其他支撐文件,運行命令: make install
6、 最後,完成所有其他必須的配置
3.2軟體包管理命令 QUOTE: rpm –ivh <軟體包>; // 安裝指定的軟體包,並在安裝過程中用#表示安裝的進度 rpm –Uvh <軟體包>; // 更新一個已經存在的或還沒安裝好的軟體包,並刪除所有該軟體包的舊版本。 rpm –e //卸載一個rpm軟體包 rpm –qa // 查看系統中已經安裝的軟體包 rpm –q <軟體包>; // 查看系統中某個軟體包的版本號; rpm –qlp <軟體包>; //列出某個軟體包中的所有文件 rpm –qf <軟體包>; //找出一個文件屬於哪個軟體包
4 LINUX系統常用命令
4.1 與系統管理有關的命令 Wall (Write All) 對全部已 登錄的用戶發送信息,用戶可以先反要發送的信息寫好存入一個文件中,然後輸入: # wall < FileName 例:Wall 『Thank you !』 Write 向某一用戶發送信息。 Write xxq hello 輸入Ctrl+C組合即可終止 Shutdown命令 Shutdown [選項] [時間] [警告信息]
-k 並不真正關機,而只是發出警告信息給所有的用戶。
-r 關機後立即重新啟動。
-h 關機後不重新啟動。
-f 快速關機,啟動時跳過fsck。
-n快速關機,不經過init程序。
-c 取消一個已經運行的shutdown 例:系統馬上關機:Shutdown –h now Free命令查看當前系統內存的使用情況, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以位元組為單位顯示。
-k 以K位元組為單位顯示。
-m 以M位元組為單位顯示。 Uptime QUOTE: 顯示系統已經運行了多長的時間:現在時間、系統已經運行的時間、目前有多少登錄用戶、系統在過去的1分鍾、5分鍾和15分鍾內的平均負載。
4.2與用戶有關的命令 Passwd命令設置、更換用戶口令。
Passwd [用戶名] Su 使一個普通的用戶具有超級用戶的權利,離開可用EXIT命令。 4.3其它命令 Echo命令在顯示器上顯示一段文字,一般起到一個提示的作用。
echo [-n] 字元串 Cal命令顯示某年某月的日歷。
cal [選項] [月[年]]
選項的含義:
-j 顯示也給定月中的每一天是一年中的和幾天(從1月1日算起)。
-y 顯示也整年的日歷。 Date命令 date命令的功能是顯示和設置系統日期和時間。 4.4磁碟管理 磁碟空間管理 df命令檢查文件系統的磁碟空間佔用局部。
Df [選項]
-a 顯示所有文件系統的磁碟使用情況,包括0塊(block)的文件系統,如/proc文件系統。
-k 以K位元組為單位顯示。
-i 顯示i節點信息,而不是磁碟塊。
- t 顯示各指定類型的文件系統的磁碟空間使用情況。
-x 列出不是某一指定類型文件系統的磁碟窨使用情況(與t相反)。
-T 顯示文件系統類型。 命令 的英文原意為disk usage,含義為顯示磁碟空間的使用情況。功能是統計目錄(或文件)所佔磁碟空間的大小。
[選項] [Names…]
-s 對每人Names 參數只給也佔用的數據塊總數。
-a 遞歸地顯示指定目錄中各文件用子孫目錄中的各文件佔用的數據塊總數。
-b 以位元組為單位列也磁碟窨使用情部(預設以K位元組為單位)
-k 以1024位元組為單位列也磁碟空間使用情況。
-c 最後再加上一個總計(系統預設)
-l 計算所有的文件大小,對硬鏈接文件,則計算多次。
-x 跳過在不同文件系統上的目錄不予統計。 dd命令把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝的過程中可以進行格式轉換。
語法: dd 〔選項〕 if =輸入文件(或設備名稱)。 of =輸出文件(或設備名稱)。 ibs = bytes 一次讀取bytes位元組,即讀入緩沖區的位元組數。 skip = blocks 跳過讀入緩沖區開頭的ibs*blocks塊。 obs = bytes 一次寫入bytes位元組,即寫 入緩沖區的位元組數。 bs = bytes 同時設置讀/寫緩沖區的位元組數(等於設置obs和obs)。 cbs = bytes 一次轉換bytes位元組。 count = blocks 只拷貝輸入的blocks塊。 conv = ASCII 把EBCDIC碼轉換為ASCII碼。 conv = ebcdic 把ASCII碼轉換為EBCDIC碼。 conv = ibm 把ASCII碼轉換為alternate EBCDIC碼。 conv = blick 把變動位轉換成固定字元。 conv = ublock 把固定們轉換成變動位 conv = ucase 把字母由小寫變為大寫。 conv = lcase 把字母由大寫變為小寫。 conv = notrunc 不截短輸出文件。 conv = swab 交換每一對輸入位元組。 conv = noerror 出錯時不停止處理。 conv = sync 把每個輸入記錄的大小都調到ibs的大小(用ibs填充)。 fdformat命令低級格式化軟盤。
format [-n] device QUOTE: -n 格式化後不做檢驗
4.5常用的網路命令 FTP命令 Telnet命令。
Netstat命令
-a 顯示所有的scoket,包括正在監聽和。
-c 每隔1秒就重新顯示一遍,直到用戶中斷它。
-i 顯示所有網路介面的信息,格式同」ifconfig –e」
-n 以網路IP地址代替名稱,顯示也網路連接情形。
-r 顯示核心路由表,格式同」route –e:。
-t 顯示TCP協議的連接情況。
-u 顯示UDP協議的連接情況。
-v 顯示正在進行的工作。 nslookup命令。 finger命令,功能是查詢用戶的信息。 ping命令。(用戶和組的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有關進程的命令。 進程和啟動 at [-V] [-q] [-f文件名] [-mldbv]時間 at –c 作業 [作業….] AT命令啟動的進程系統只執行一次。 batch [-V] [-q 隊列] [-f 文件名] [-mv] [時間] 在系統負載較小時,資源比較空閑時執行。 cron命令按一定的時間間隔執行命令。 crontab命令用於安裝、刪除或列出用於驅支cron後台進程的表格。進程查看
who命令。 w命令是一個比who命令更強大的命令 w
–[husfV] [user] -h 不顯示標題。
-u 當列出當前進程和CPU時間時忽略用戶名。
-s 使用短模式。不顯示登錄時間JCPU和PCPU時間。
-f 切換顯示FROM項,也就是遠程主機名項。
-V 顯示版本信息。 user 只顯示指定用戶的情況。 ps命令。
-e 顯示所有進程。
-f 全格式
-h 不顯示標題。
-l 長格式。
-w 寬輸出。 a 顯示終端上所有進程,包括其他用戶的進程。 r 只顯示正在運行的進程。 x 顯示沒有控制終端的進程。 top 命令動態顯示系統當前的進程和其他狀況。 5系統的啟動過程。