千家信息网

有哪些使用Linux Shell的小技巧

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"有哪些使用Linux Shell的小技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2026年11月02日有哪些使用Linux Shell的小技巧

本篇内容介绍了"有哪些使用Linux Shell的小技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

检查远程端口是否对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 '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'


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 < update add $HOST 86400 A $IP
send
EOF


递归grep所有目录:

代码如下:

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


列出前10个最大的文件:

代码如下:

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


显示剩余内存(MB):

代码如下:

free -m | grep cache | awk '/[0-9]/{ print $4" MB" }'


打开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 '50,60p'


运行最后一个命令(如果最后一个命令是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 $'\t' {} \;


用"="打印出横线:

代码如下:

printf '0s\n' | tr ' ' =

"有哪些使用Linux Shell的小技巧"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

代码 文件 目录 命令 分支 历史 进程 运行 内容 字符 情况 文件名 端口 技巧 密码 文本 时间 更多 知识 硬盘 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 互联网科技工作委员会副主任毛军 科技互联网产品 金融科技还是互联网 中资互联网科技 深圳互联网科技公司 互联网科技作文 互联网与新科技 开启互联网科技时代小说 博兴的互联网电子科技公司 天速互联网络科技有限公司 科技互联网的估值 温州喔噻互联网科技有限公司 中化能源互联网科技招聘 阿大互联网科技有限公司 上海创道互联网络科技有限公司 广州三三互联网科技有限公司 互联网科技和医药行业 银川新华互联网科技学校招聘 知域互联网科技有限公司官网 中国互联网科技发展 互联网金融科技委员会 互联网公司会议桌创意科技软装饰 广州慧亚互联网科技怎么样 苏州五指互联网络科技有限 互联网科技公司有风险吗 浙南科技城互联网大厦建设工程 中国互联网公司的科技投入 互联网科技和医药行业 互联网科技企业文化
0