首頁 運維 linux運維 shell常用命令

shell常用命令

Jun 29, 2019 am 10:09 AM

shell常用命令

下面为大家总结Linux shell的常用命令

前言

使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧。当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务。需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件。下面话不多说了,来看看详细的内容吧。

检查远程端口是否对bash开放:

echo >/dev/tcp/8.8.8.8/53 && echo "open"
登入後複製

让进程转入后台:

Ctrl + z
登入後複製

将进程转到前台:

fg
登入後複製

产生随机的十六进制数,其中n是字符数:

openssl rand -hex n
登入後複製

在当前shell里执行一个文件里的命令:

source /home/user/file.name
登入後複製

截取前5个字符:

${variable:0:5}
登入後複製

SSH debug 模式:

ssh -vvv user@ip_address
登入後複製

SSH with pem key:

ssh user@ip_address -i key.pem
登入後複製

用wget抓取完整的网站目录结构,存放到本地目录中:

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs
登入後複製

一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}
登入後複製

列出包括子进程的进程树:

ps axwef
登入後複製

创建 war 文件:

jar -cvf name.war file
登入後複製

测试硬盘写入速度:

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

测试硬盘读取速度:

hdparm -Tt /dev/sda
登入後複製

获取文本的md5 hash:

echo -n "text" | md5sum
登入後複製

检查xml格式:

xmllint --noout file.xml
登入後複製

将tar.gz提取到新目录里:

tar zxvf package.tar.gz -C new_dir
登入後複製

使用curl获取HTTP头信息:

curl -I http://www.example.com
登入後複製

修改文件或目录的时间戳(YYMMDDhhmm):

touch -t 0712250000 file
登入後複製

用wget命令执行ftp下载:

wget -m ftp://username:password@hostname
登入後複製

生成随机密码(例子里是16个字符长):

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

快速备份一个文件:

cp some_file_name{,.bkp}
登入後複製

访问Windows共享目录:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir
登入後複製

执行历史记录里的命令(这里是第100行):

!100
登入後複製

解压:

unzip package_name.zip -d dir_name
登入後複製

输入多行文字(CTRL + d 退出):

cat > test.txt
登入後複製

创建空文件或清空一个现有文件:

\> test.txt
登入後複製

与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com
登入後複製

用netstat显示所有tcp4监听端口:

netstat -lnt4 | awk &#39;{print $4}&#39; | cut -f2 -d: | grep -o &#39;[0-9]*&#39;
登入後複製

qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw
登入後複製

重复运行文件,显示其输出(缺省是2秒一次):

watch ps -ef
登入後複製


所有用户列表:

getent passwd
登入後複製

Mount root in read/write mode:

mount -o remount,rw /
登入後複製

挂载一个目录(这是不能使用链接的情况):

mount --bind /source /destination
登入後複製

动态更新DNS server:

nsupdate < <EOF update add $HOST 86400 A $IP send EOF
登入後複製

递归grep所有目录:

grep -r "some_text" /path/to/dir
登入後複製

列出前10个最大的文件:

lsof / | awk &#39;{ if($7 > 1048576) print $7/1048576 "MB "$9 }&#39; | sort -n -u | tail
登入後複製

显示剩余内存(MB):

free -m | grep cache | awk &#39;/[0-9]/{ print $4" MB" }&#39;
登入後複製

打开Vim并跳到文件末:

vim + some_file_name
登入後複製

Git 克隆指定分支(master):

git clone git@github.com:name/app.git -b master
登入後複製

Git 切换到其它分支(develop):

git checkout develop
登入後複製

Git 删除分支(myfeature):

git branch -d myfeature
登入後複製

Git 删除远程分支

git push origin :branchName
登入後複製

Git 将新分支推送到远程服务器:

git push -u origin mynewfeature
登入後複製

打印历史记录中最后一次cat命令:

!cat:p
登入後複製

运行历史记录里最后一次cat命令:

!cat
登入後複製

找出/home/user下所有空子目录:

find /home/user -maxdepth 1 -type d -empty
登入後複製

获取test.txt文件中第50-60行内容:

< test.txt sed -n &#39;50,60p&#39;
登入後複製

运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

sudo !!
登入後複製

创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

mount -t tmpfs tmpfs /tmpram -o size=512m
登入後複製

Grep whole words:

grep -w "name" test.txt
登入後複製

在需要提升权限的情况下往一个文件里追加文本:

echo "some text" | sudo tee -a /path/file
登入後複製

列出所有kill signal参数:

kill -l
登入後複製

在bash历史记录里禁止记录最后一次会话:

kill -9 $$
登入後複製

扫描网络寻找开放的端口:

nmap -p 8081 172.20.0.0/16
登入後複製

设置git email:

git config --global user.email "me@example.com"
登入後複製

To sync with master if you have unpublished commits:

git pull --rebase origin master
登入後複製

将所有文件名中含有”txt”的文件移入/home/user目录:

find -iname "*txt*" -exec mv -v {} /home/user \;
登入後複製

将文件按行并列显示:

paste test.txt test1.txt
登入後複製

shell里的进度条:

pv data.log
登入後複製

使用netcat将数据发送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000
登入後複製

将tabs转换成空格:

expand test.txt > test1.txt
登入後複製

Skip bash history:

< space >cmd
登入後複製

去之前的工作目录:

cd -
登入後複製

拆分大体积的tar.gz文件(每个100MB),然后合并回去:

split –b 100m /path/to/large/archive /path/to/output/files cat files* > archive
登入後複製

使用curl获取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null
登入後複製

设置root密码,强化MySQL安全安装:

/usr/bin/mysql_secure_installation
登入後複製

当Ctrl + c不好使时:

Ctrl + \
登入後複製

获取文件owner:

stat -c %U file.txt
登入後複製

block设备列表:

lsblk -f
登入後複製

找出文件名结尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;
登入後複製

找出文件名有tab缩进符的文件

find . -type f -exec egrep -l $&#39;\t&#39; {} \;
登入後複製

用”=”打印出横线:全选复制放进笔记

printf &#39;%100s\n&#39; | tr &#39; &#39; =
登入後複製

以上是shell常用命令的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Linux中使用正則表達式(REGEX)進行模式匹配? 如何在Linux中使用正則表達式(REGEX)進行模式匹配? Mar 17, 2025 pm 05:25 PM

本文介紹瞭如何在Linux中使用正則表達式(REGEX)進行模式匹配,文件搜索和文本操作,詳細列式,命令和工具,例如GREP,SED和AWK。

如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能? 如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能? Mar 17, 2025 pm 05:28 PM

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

如何在Linux中實現SSH的兩因素身份驗證(2FA)? 如何在Linux中實現SSH的兩因素身份驗證(2FA)? Mar 17, 2025 pm 05:31 PM

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包? 如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包? Mar 17, 2025 pm 05:26 PM

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。

如何使用sudo向Linux的用戶授予高架特權? 如何使用sudo向Linux的用戶授予高架特權? Mar 17, 2025 pm 05:32 PM

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

如何構建和自定義Linux發行版? 如何構建和自定義Linux發行版? Mar 14, 2025 pm 04:45 PM

本文詳細介紹了構建和自定義Linux發行版,涵蓋選擇基本系統的過程,使用LFS和基於Debian的系統,自定義軟件包以及修改內核的構建工具。它還討論了管理軟件

如何在Linux(靜態IP,DHCP,DNS)中配置網絡? 如何在Linux(靜態IP,DHCP,DNS)中配置網絡? Mar 14, 2025 pm 04:55 PM

本文提供了有關配置Linux網絡的指南,重點是設置靜態IP,DHCP和DNS配置。它詳細介紹了編輯配置文件和重新啟動網絡服務以應用更改的步驟。

最受歡迎的Linux發行版是什麼(Ubuntu,Debian,Fedora,Centos)? 最受歡迎的Linux發行版是什麼(Ubuntu,Debian,Fedora,Centos)? Mar 14, 2025 pm 04:50 PM

文章討論了流行的Linux發行版:Ubuntu,Debian,Fedora和Centos,重點介紹了它們對不同用戶的獨特功能和適合性。它比較了Ubuntu和Debian的發布週期,軟件可用性和支持,以及高

See all articles