小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Linux命令行技巧

 Zachary119 2011-01-11

Xiaoming Mo and Chen HuaJiang have kindly translated this page.

這是一個(gè)linux常見命令的列表。
那些有• 標(biāo)記的條目,你可以直接拷貝到終端上而不需要任何修改,因此你最好開一個(gè)終端邊讀邊剪切&拷貝。
所有的命令已在Fedora和Ubuntu下做了測試

命令 描述
apropos whatis 顯示和word相關(guān)的命令。 參見線程安全
man -t man | ps2pdf - > man.pdf 生成一個(gè)PDF格式的幫助文件
  which command 顯示命令的完整路徑名
  time command 計(jì)算命令運(yùn)行的時(shí)間
time cat 開始計(jì)時(shí). Ctrl-d停止。參見sw
nice info 運(yùn)行一個(gè)低優(yōu)先級 命令(這里是info)
renice 19 -p $$ 使腳本運(yùn)行于低優(yōu)先級。用于非交互任 務(wù)。
目錄操作
cd - 回到前一目錄
cd 回到用戶目錄
  (cd dir && command) 進(jìn)入目錄 dir,執(zhí)行命令command然后回到當(dāng)前目錄
pushd . 將當(dāng)前目錄壓入棧,以后你可以使用 popd回到此目錄
alias l='ls -l --color=auto' 單字符文件列表命令
ls -lrt 按日期顯示文件. 參見newest
ls /usr/bin | pr -T9 -W$COLUMNS 在 當(dāng)前終端寬度上打印9列輸出
  find -name '*.[ch]' | xargs grep -E 'expr' 在當(dāng)前目錄及其子目錄下所有.c和.h文件中尋找'expr'. 參見findrepo
  find -type f -print0 | xargs -r0 grep -F 'example' 在當(dāng)前目錄及其子目錄中的常規(guī)文件中查找字符串'example'
  find -maxdepth 1 -type f | xargs grep -F 'example' 在當(dāng)前目錄下查找字符串'example'
  find -maxdepth 1 -type d | while read dir; do echo $dir; echo cmd2; done 對每一個(gè)找到的文件執(zhí)行多個(gè)命令(使用while循環(huán))
find -type f ! -perm -444 尋找所有不可讀 的文件(對網(wǎng)站有用)
find -type d ! -perm -111 尋找不可訪問的 目錄(對網(wǎng)站有用)
locate -r 'file[^/]*\.txt' 使用 locate 查找所有符合*file*.txt的文件
look reference 在(有序)字典中快速查找
grep --color reference /usr/share/dict/words 使字典中匹配的正則表達(dá)式高亮
歸檔 and compression
  gpg -c file 文件加密
  gpg file.gpg 文件解密
  tar -c dir/ | bzip2 > dir.tar.bz2 將 目錄dir/壓縮打包
  bzip2 -dc dir.tar.bz2 | tar -x 展開 壓縮包 (對tar.gz文件使用gzip而不是bzip2)
  tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg' 目錄dir/壓縮打包并放到遠(yuǎn)程機(jī)器上
  find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 > dir_txt.tar.bz2 將目錄dir/及其子目錄下所有.txt文 件打包
  find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents 將目錄dir/及其子目錄下所有.txt按照目錄結(jié)構(gòu)拷 貝到dir_txt/
  ( tar -c /dir/to/copy ) | ( cd /where/to/ && tar -x -p ) 拷貝目錄copy/到目錄/where/to/并保持文件屬性
  ( cd /dir/to/copy && tar -c . ) | ( cd /where/to/ && tar -x -p ) 拷貝目錄copy/下的所有文件到目錄 /where/to/并保持文件屬性
  ( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ && tar -x -p' 拷貝目錄copy/到遠(yuǎn)程目錄 /where/to/并保持文件屬性
  dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz' 將整個(gè)硬盤備份到遠(yuǎn)程機(jī)器上
rsync (使用 --dry-run選項(xiàng)進(jìn)行測試)
  rsync -P rsync://rsync.server.com/path/to/file file 只獲取diffs.當(dāng)下載有問題時(shí)可以作多次
  rsync --bwlimit=1000 fromfile tofile 有 速度限制的本地拷貝,對I/O有利
  rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html' 鏡像網(wǎng)站(使用壓縮和加密)
  rsync -auz -e ssh remote:/dir/ . && rsync -auz -e ssh . remote:/dir/ 同步當(dāng)前目錄和遠(yuǎn)程目錄
ssh (安全 Shell)
  ssh $USER@$HOST command 在$Host主機(jī)上 以$User用戶運(yùn)行命令(默認(rèn)命令為Shell)
ssh -f -Y $USER@$HOSTNAME xeyes 在 名為$HOSTNAME的主機(jī)上以$USER用戶運(yùn)行GUI命令
  scp -p -r $USER@$HOST: file dir/ 拷 貝到$HOST主機(jī)$USER'用戶的目錄下
  ssh -g -L 8080:localhost:80 root@$HOST 由 本地主機(jī)的8080端口轉(zhuǎn)發(fā)到$HOST主機(jī)的80端口
  ssh -R 1434:imap:143 root@$HOST 由 主機(jī)的1434端口轉(zhuǎn)發(fā)到imap的143端口
wget (多用途下載工具)
(cd cmdline && wget -nd -pHEKk http://www./cmdline.html) 在當(dāng)前目錄中下載指定網(wǎng)頁及其相關(guān)的文件使其可完全瀏 覽
  wget -c http://www./large.file 繼 續(xù)上次未完的下載
  wget -r -nd -np -l1 -A '*.jpg' http://www./ 批量下載文件到當(dāng)前目錄中
  wget ftp://remote/file[1-9].iso/ 下 載FTP站上的整個(gè)目錄
wget -q -O- http://www./timeline.html | grep 'a href' | head 直接 處理輸出
  echo 'wget url' | at 01:00 在下午一點(diǎn)鐘 下載指定文件到當(dāng)前目錄
  wget --limit-rate=20k url 限制下載速度 (這里限制到20KB/s)
  wget -nv --spider --force-html -i bookmarks.html 檢查文件中的鏈接是否存在
  wget --mirror http://www./ 更 新網(wǎng)站的本地拷貝(可以方便地用于cron)
網(wǎng)絡(luò)(ifconfig, route, mii-tool, nslookup 命令皆已過時(shí))
  ethtool eth0 顯示網(wǎng)卡eth0的狀態(tài)
  ethtool --change eth0 autoneg off speed 100 duplex full 手動設(shè)制網(wǎng)卡速度
  iwconfig eth1 顯示無線網(wǎng)卡eth1的狀態(tài)
  iwconfig eth1 rate 1Mb/s fixed 手動 設(shè)制無線網(wǎng)卡速度
iwlist scan 顯示無線網(wǎng)絡(luò)列表
ip link show 顯示interface列表
  ip link set dev eth0 name wan 重命名 eth0為wan
  ip link set dev eth0 up 啟動 interface eth0(或關(guān)閉)
ip addr show 顯示網(wǎng)卡的IP地址
  ip addr add 1.2.3.4/24 brd + dev eth0 添 加ip和掩碼(255.255.255.0)
ip route show 顯示路由列表
  ip route add default via 1.2.3.254 設(shè) 置默認(rèn)網(wǎng)關(guān)1.2.3.254
tc qdisc add dev lo root handle 1:0 netem delay 20msec 增加20ms傳輸時(shí)間到 loopback設(shè)備(調(diào)試用)
tc qdisc del dev lo root 移除上面添加的傳 輸時(shí)間
host 查尋主機(jī)的DNS IP地址
hostname -i 查尋本地主機(jī)的IP地址(同等于host `hostname`)
whois 查尋某主機(jī)或莫IP地址的 whois信息
netstat -tupl 列出系統(tǒng)中的internet服務(wù)
netstat -tup 列出活躍的連接
windows networking (samba提供所有windows相關(guān)的網(wǎng)絡(luò)支持)
smbtree 尋找一個(gè)windows主機(jī). 參見findsmb
  nmblookup -A 1.2.3.4 尋找一個(gè)指定ip的 windows (netbios)名
  smbclient -L windows_box 顯示在 windows主機(jī)或samba服務(wù)器上的所有共享
  mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share 掛載一個(gè)windows共享
  echo 'message' | smbclient -M windows_box 發(fā) 送一個(gè)彈出信息到windows主機(jī)(XP sp2默認(rèn)關(guān)閉此功能)
文本操作 (sed使用標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出,如果想要編輯文件,則需添加<oldfile >newfile)
  sed 's/string1/string2/g' 使用 string2替換string1
  sed 's/\(.*\)1/\12/g' 將任何以1結(jié)尾的字符串 替換為以2結(jié)尾的字符串
  sed '/ *#/d; /^ *$/d' 刪除注釋和空白行
  sed ':a; /\\$/N; s/\\\n//; ta' 連接 結(jié)尾有\(zhòng)的行和其下一行
  sed 's/[ \t]*$//' 刪除每行后的空白
  sed 's/\([\\`\\"$\\\\]\)/\\\1/g' 將 所有轉(zhuǎn)義字符之前加上\
seq 10 | sed "s/^/      /; s/ *\(.\{7,\}\)/\1/" 向右排N(任意數(shù))列
  sed -n '1000p;1000q' 輸 出第一千行
  sed -n '10,20p;20q' 輸 出第10-20行
  sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' 輸出HTML文件的<title></title> 字段中的 內(nèi)容
  sort -t. -k1,1n -k2,2n -k3,3n -k4,4n 排 序IPV4地址
echo 'Test' | tr '[:lower:]' '[:upper:]' 轉(zhuǎn) 換成大寫
tr -dc '[:print:]' < /dev/urandom 過 濾掉不能打印的字符
history | wc -l 計(jì)算指定單詞出現(xiàn)的次數(shù)
集合操作 (如果是英文文本的話export LANG=C可以提高速度)
  sort file1 file2 | uniq 兩個(gè)未排序文件的并集
  sort file1 file2 | uniq -d 兩個(gè)未排序文 件的交集
  sort file1 file1 file2 | uniq -u 兩 個(gè)未排序文件的差 集
  sort file1 file2 | uniq -u 兩個(gè)未排序文 件的對稱差集
  join -t'\0' -a1 -a2 file1 file2 兩個(gè)有序文件的并集
  join -t'\0' file1 file2 兩個(gè)有序文件的交集
  join -t'\0' -v2 file1 file2 兩個(gè)有序文 件的差集
  join -t'\0' -v1 -v2 file1 file2 兩 個(gè)有序文件的對稱差集
數(shù)學(xué)
echo '(1 + sqrt(5))/2' | bc -l 方便 的計(jì)算器(計(jì)算 φ)
echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc 更復(fù)雜地計(jì)算,這里計(jì)算了最大的FastE包率
echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python Python處理數(shù)值的科學(xué)表示法
echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist 顯示FastE包率相對于包大小的圖形
echo 'obase=16; ibase=10; 64206' | bc 進(jìn) 制轉(zhuǎn)換(十進(jìn)制到十六進(jìn)制)
echo $((0x2dec)) 進(jìn)制轉(zhuǎn)換(十六進(jìn)制到十進(jìn)制) ((shell數(shù)學(xué)擴(kuò)展))
units -t '100m/9.58s' 'miles/hour' 單位轉(zhuǎn)換(公尺到英尺)
units -t '500GB' 'GiB' 單位轉(zhuǎn)換(SIIEC 前綴)
units -t '1 googol' 定義查找
seq 100 | (tr '\n' +; echo 0) | bc 加 N(任意數(shù))列. 參見 add and funcpy
日歷
cal -3 顯示一日歷
cal 9 1752 顯示指定月,年的日歷
date -d fri 這個(gè)星期五是幾號. 參見day
date --date='25 Dec' +%A 今年的圣誕節(jié)是星 期幾
date --date '1970-01-01 UTC 2147483647 seconds' 將一相對于1970-01-01 00:00的秒數(shù)轉(zhuǎn)換成時(shí)間
TZ=':America/Los_Angeles' date 顯示 當(dāng)前的美國西岸時(shí)間(使用tzselect尋找時(shí)區(qū))
  echo "mail -s 'get the train' P@draigBrady.com < /dev/null" | at 17:45 在指定的時(shí)間發(fā)送郵件
echo "DISPLAY=$DISPLAY xmessage cooker" | at "NOW + 30 minutes" 在給定的時(shí)間彈出對話框
locales
printf "%'d\n" 1234 根據(jù)locale輸出正確的 數(shù)字分隔
BLOCK_SIZE=\'1 ls -l 用ls命令作類適于 locale()文件分組
echo "I live in `locale territory`" 從 locale數(shù)據(jù)庫中展開信息
LANG=en_IE.utf8 locale int_prefix 查 找指定地區(qū)的locale信息。參見ccodes
locale | cut -d= -f1 | xargs locale -kc | less 顯示在locale數(shù)據(jù)庫中的所有字段
recode (iconv, dos2unix, unix2dos 已經(jīng)過時(shí)了)
recode -l | less 顯示所有有效的字符集及其別名
  recode windows-1252.. file_to_change.txt 轉(zhuǎn) 換Windows下的ansi文件到當(dāng)前的字符集(自動進(jìn)行回車換行符的轉(zhuǎn)換)
  recode utf-8/CRLF.. file_to_change.txt 轉(zhuǎn) 換Windows下的ansi文件到當(dāng)前的字符集
  recode iso-8859-15..utf8 file_to_change.txt 轉(zhuǎn)換Latin9(西歐)字符集文件到utf8
  recode ../b64 < file.txt > file.b64 Base64 編碼
  recode /qp.. < file.txt > file.qp Quoted- printable格式解碼
  recode ..HTML < file.txt > file.html 將文本文件轉(zhuǎn)換成HTML
recode -lf windows-1252 | grep euro 字符表中查找歐元符號
echo -n 0x80 | recode latin-9/x1..dump 顯 示字符在latin-9中的字符映射
echo -n 0x20AC | recode ucs-2/x2..latin-9/x 顯示latin-9編碼
echo -n 0x20AC | recode ucs-2/x2..utf-8/x 顯 示utf-8編碼
光盤
  gzip < /dev/cdrom > cdrom.iso.gz 保 存光盤拷貝
  mkisofs -V LABEL -r dir | gzip > cdrom.iso.gz 建立目錄dir的光盤鏡像
  mount -o loop cdrom.iso /mnt/dir 將 光盤鏡像掛載到 /mnt/dir (只讀)
  cdrecord -v dev=/dev/cdrom blank=fast 清 空一張CDRW
  gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom - 燒錄光盤鏡像 (使用 dev=ATAPI -scanbus 來確認(rèn)該使用的 dev)
  cdparanoia -B 在當(dāng)前目錄下將光盤音軌轉(zhuǎn)錄成wav文件
  cdrecord -v dev=/dev/cdrom -audio *.wav 將 當(dāng)前目錄下的wav文件燒成音樂光盤 (參見cdrdao)
  oggenc --tracknum='track' track.cdda.wav -o 'track.ogg' 將wav文件轉(zhuǎn)換成ogg格式
磁盤空間 (參見FSlint)
ls -lSr 按文件大小降序顯示文件
du -s * | sort -k1,1rn | head 顯示當(dāng) 前目錄下占用空間最大的一批文件. 參見dutop
df -h 顯示空余的磁盤空間
df -i 顯示空余的inode
fdisk -l 顯示磁盤分區(qū)大小和類型(在root下執(zhí)行)
rpm -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n 顯示所有在rpm發(fā)布版上安裝的,并以包字節(jié)大小為序
dpkg-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n 顯示所有在deb發(fā)布 版上安裝的,并以KB包大 小為序
dd bs=1 seek=2TB if=/dev/null of=ext3.test 建立一個(gè)大的測試文件(不占用空間). 參見truncate
監(jiān)視/調(diào)試
tail -f /var/log/messages 監(jiān)視 Messages日志文件
strace -c ls >/dev/null 總結(jié)/剖析命 令進(jìn)行的系統(tǒng)調(diào)用
strace -f -e open ls >/dev/null 顯 示命令進(jìn)行的系統(tǒng)調(diào)用
ltrace -f -e getenv ls >/dev/null 顯 示命令調(diào)用的庫函數(shù)
lsof -p $$ 顯示 當(dāng)前進(jìn)程打開的文件
lsof ~ 顯示打開用戶目錄的進(jìn)程
tcpdump not port 22 顯示除了ssh外的網(wǎng)絡(luò)交 通. 參見tcpdump_not_me
ps -e -o pid,args --forest 以樹狀結(jié)構(gòu)顯 示進(jìn)程
ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d' 以CPU占用率為序顯示進(jìn)程
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS 以內(nèi)存使用量為序顯示進(jìn)程. 參見ps_mem.py
ps -C firefox-bin -L -o pid,tid,pcpu,state 顯示指定進(jìn)程的所有線程信息
ps -p 1,2 顯示指定進(jìn)程ID的進(jìn)程信息
last reboot 顯示系統(tǒng)重啟記錄
free -m 顯示(剩余的)內(nèi)存總量(-m以MB為單位顯示)
watch -n.1 'cat /proc/interrupts' 監(jiān) 測文件/proc/interrupts的變化
系統(tǒng)信息 (參見sysinfo)
uname -a 查看內(nèi)核/操作系統(tǒng)/CPU信息
head -n1 /etc/issue 查看操作系統(tǒng)版本
cat /proc/partitions 顯示所有在系統(tǒng)中注冊的分 區(qū)
grep MemTotal /proc/meminfo 顯示系統(tǒng)可 見的內(nèi)存總量
grep "model name" /proc/cpuinfo 顯 示CPU信息
lspci -tv 顯示PCI信息
lsusb -tv 顯示USB信息
mount | column -t 顯示所有掛載的文件系統(tǒng)并對齊輸 出
# dmidecode -q | less 顯示SMBIOS/DMI 信息
# smartctl -A /dev/sda | grep Power_On_Hours 系統(tǒng)開機(jī)的總體時(shí)間
# hdparm -i /dev/sda 顯示關(guān)于磁盤sda的信息
# hdparm -tT /dev/sda 檢測磁盤sda的讀取速度
# badblocks -s /dev/sda 檢測磁盤sda上所有的 壞扇區(qū)
交互 (參見linux keyboard shortcut database)
readline Line editor used by bash, python, bc, gnuplot, ...
screen 多窗口的 虛擬終端, ...
mc 強(qiáng)大的文件管理器,可以瀏 覽rpm, tar, ftp, ssh, ...
gnuplot 交 互式并可進(jìn)行腳本編程的畫圖工具
links 網(wǎng)頁瀏覽器
miscellaneous
alias hd='od -Ax -tx1z -v' 方便的十六進(jìn)制輸出。 (用法舉例: • hd /proc/self/cmdline | less)
alias realpath='readlink -f' 顯示符號鏈接指向的真實(shí)路徑((用法舉例: • realpath ~/../$USER)
set | grep $USER 在當(dāng)前環(huán)境中查找
  touch -c -t 0304050607 file 改變文件的 時(shí)間標(biāo)簽 (YYMMDDhhmm)
python -m SimpleHTTPServer Serve current directory tree at http://$HOSTNAME:8000/
© Jan 22 2008   [Comments] | [Add link to ...]

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多