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"
Salin selepas log masuk

让进程转入后台:

Ctrl + z
Salin selepas log masuk

将进程转到前台:

fg
Salin selepas log masuk

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

openssl rand -hex n
Salin selepas log masuk

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

source /home/user/file.name
Salin selepas log masuk

截取前5个字符:

${variable:0:5}
Salin selepas log masuk

SSH debug 模式:

ssh -vvv user@ip_address
Salin selepas log masuk

SSH with pem key:

ssh user@ip_address -i key.pem
Salin selepas log masuk

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

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs
Salin selepas log masuk

一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}
Salin selepas log masuk

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

ps axwef
Salin selepas log masuk

创建 war 文件:

jar -cvf name.war file
Salin selepas log masuk

测试硬盘写入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
Salin selepas log masuk

测试硬盘读取速度:

hdparm -Tt /dev/sda
Salin selepas log masuk

获取文本的md5 hash:

echo -n "text" | md5sum
Salin selepas log masuk

检查xml格式:

xmllint --noout file.xml
Salin selepas log masuk

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

tar zxvf package.tar.gz -C new_dir
Salin selepas log masuk

使用curl获取HTTP头信息:

curl -I http://www.example.com
Salin selepas log masuk

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

touch -t 0712250000 file
Salin selepas log masuk

用wget命令执行ftp下载:

wget -m ftp://username:password@hostname
Salin selepas log masuk

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

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;
Salin selepas log masuk

快速备份一个文件:

cp some_file_name{,.bkp}
Salin selepas log masuk

访问Windows共享目录:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir
Salin selepas log masuk

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

!100
Salin selepas log masuk

解压:

unzip package_name.zip -d dir_name
Salin selepas log masuk

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

cat > test.txt
Salin selepas log masuk

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

\> test.txt
Salin selepas log masuk

与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com
Salin selepas log masuk

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

netstat -lnt4 | awk &#39;{print $4}&#39; | cut -f2 -d: | grep -o &#39;[0-9]*&#39;
Salin selepas log masuk

qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw
Salin selepas log masuk

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

watch ps -ef
Salin selepas log masuk


所有用户列表:

getent passwd
Salin selepas log masuk

Mount root in read/write mode:

mount -o remount,rw /
Salin selepas log masuk

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

mount --bind /source /destination
Salin selepas log masuk

动态更新DNS server:

nsupdate < <EOF update add $HOST 86400 A $IP send EOF
Salin selepas log masuk

递归grep所有目录:

grep -r "some_text" /path/to/dir
Salin selepas log masuk

列出前10个最大的文件:

lsof / | awk &#39;{ if($7 > 1048576) print $7/1048576 "MB "$9 }&#39; | sort -n -u | tail
Salin selepas log masuk

显示剩余内存(MB):

free -m | grep cache | awk &#39;/[0-9]/{ print $4" MB" }&#39;
Salin selepas log masuk

打开Vim并跳到文件末:

vim + some_file_name
Salin selepas log masuk

Git 克隆指定分支(master):

git clone git@github.com:name/app.git -b master
Salin selepas log masuk

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

git checkout develop
Salin selepas log masuk

Git 删除分支(myfeature):

git branch -d myfeature
Salin selepas log masuk

Git 删除远程分支

git push origin :branchName
Salin selepas log masuk

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

git push -u origin mynewfeature
Salin selepas log masuk

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

!cat:p
Salin selepas log masuk

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

!cat
Salin selepas log masuk

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

find /home/user -maxdepth 1 -type d -empty
Salin selepas log masuk

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

< test.txt sed -n &#39;50,60p&#39;
Salin selepas log masuk

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

sudo !!
Salin selepas log masuk

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

mount -t tmpfs tmpfs /tmpram -o size=512m
Salin selepas log masuk

Grep whole words:

grep -w "name" test.txt
Salin selepas log masuk

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

echo "some text" | sudo tee -a /path/file
Salin selepas log masuk

列出所有kill signal参数:

kill -l
Salin selepas log masuk

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

kill -9 $$
Salin selepas log masuk

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

nmap -p 8081 172.20.0.0/16
Salin selepas log masuk

设置git email:

git config --global user.email "me@example.com"
Salin selepas log masuk

To sync with master if you have unpublished commits:

git pull --rebase origin master
Salin selepas log masuk

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

find -iname "*txt*" -exec mv -v {} /home/user \;
Salin selepas log masuk

将文件按行并列显示:

paste test.txt test1.txt
Salin selepas log masuk

shell里的进度条:

pv data.log
Salin selepas log masuk

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

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000
Salin selepas log masuk

将tabs转换成空格:

expand test.txt > test1.txt
Salin selepas log masuk

Skip bash history:

< space >cmd
Salin selepas log masuk

去之前的工作目录:

cd -
Salin selepas log masuk

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

split –b 100m /path/to/large/archive /path/to/output/files cat files* > archive
Salin selepas log masuk

使用curl获取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null
Salin selepas log masuk

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

/usr/bin/mysql_secure_installation
Salin selepas log masuk

当Ctrl + c不好使时:

Ctrl + \
Salin selepas log masuk

获取文件owner:

stat -c %U file.txt
Salin selepas log masuk

block设备列表:

lsblk -f
Salin selepas log masuk

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

find . -type f -exec egrep -l " +$" {} \;
Salin selepas log masuk

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

find . -type f -exec egrep -l $&#39;\t&#39; {} \;
Salin selepas log masuk

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

printf &#39;%100s\n&#39; | tr &#39; &#39; =
Salin selepas log masuk

Atas ialah kandungan terperinci shell常用命令. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Bagaimanakah saya menggunakan Ekspresi Biasa (Regex) di Linux untuk pemadanan corak? Mar 17, 2025 pm 05:25 PM

Artikel ini menerangkan cara menggunakan Ekspresi Biasa (Regex) di Linux untuk pencocokan corak, carian fail, dan manipulasi teks, memperincikan sintaks, arahan, dan alat seperti grep, sed, dan awk.

Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Bagaimanakah saya memantau prestasi sistem di Linux menggunakan alat seperti Top, HTOP, dan VMSTAT? Mar 17, 2025 pm 05:28 PM

Artikel ini membincangkan menggunakan Top, HTOP, dan VMSTAT untuk memantau prestasi sistem Linux, memperincikan ciri unik dan pilihan penyesuaian mereka untuk pengurusan sistem yang berkesan.

Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Bagaimanakah saya melaksanakan pengesahan dua faktor (2FA) untuk SSH di Linux? Mar 17, 2025 pm 05:31 PM

Artikel ini menyediakan panduan untuk menubuhkan dua faktor Pengesahan (2FA) untuk SSH di Linux menggunakan Google Authenticator, perincian pemasangan, konfigurasi, dan langkah penyelesaian masalah. Ia menyoroti manfaat keselamatan 2FA, seperti Sec yang dipertingkatkan

Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Bagaimanakah saya menguruskan pakej perisian di Linux menggunakan pengurus pakej (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

Artikel membincangkan menguruskan pakej perisian di Linux menggunakan APT, YUM, dan DNF, yang meliputi pemasangan, kemas kini, dan penyingkiran. Ia membandingkan fungsi dan kesesuaian mereka untuk pengagihan yang berbeza.

Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Bagaimanakah saya menggunakan sudo untuk memberikan keistimewaan yang tinggi kepada pengguna di Linux? Mar 17, 2025 pm 05:32 PM

Artikel ini menerangkan cara menguruskan keistimewaan sudo di Linux, termasuk pemberian, pembatalan, dan amalan terbaik untuk keselamatan. Fokus utama adalah pada penyuntingan /etc /sudoers dengan selamat dan mengehadkan akses.Character Count: 159

Bagaimanakah saya membina dan menyesuaikan taburan Linux? Bagaimanakah saya membina dan menyesuaikan taburan Linux? Mar 14, 2025 pm 04:45 PM

Artikel ini memperincikan proses membina dan menyesuaikan pengedaran Linux, yang meliputi memilih sistem asas, menggunakan alat binaan seperti LFS dan sistem berasaskan debian, menyesuaikan pakej, dan mengubah suai kernel. Ia juga membincangkan menguruskan perisian

Bagaimana saya mengkonfigurasi rangkaian di Linux (IP statik, DHCP, DNS)? Bagaimana saya mengkonfigurasi rangkaian di Linux (IP statik, DHCP, DNS)? Mar 14, 2025 pm 04:55 PM

Artikel ini menyediakan panduan untuk mengkonfigurasi rangkaian Linux, memberi tumpuan kepada penubuhan konfigurasi IP statik, DHCP, dan DNS. Ia memperincikan langkah -langkah untuk mengedit fail konfigurasi dan memulakan semula perkhidmatan rangkaian untuk menggunakan perubahan.

Apakah pengagihan Linux yang paling popular (Ubuntu, Debian, Fedora, Centos)? Apakah pengagihan Linux yang paling popular (Ubuntu, Debian, Fedora, Centos)? Mar 14, 2025 pm 04:50 PM

Artikel ini membincangkan pengagihan Linux yang popular: Ubuntu, Debian, Fedora, dan CentOS, memberi tumpuan kepada ciri -ciri dan kesesuaian mereka yang unik untuk pengguna yang berbeza. Ia membandingkan kitaran pelepasan Ubuntu dan Debian, ketersediaan perisian, dan sokongan, dan tinggi

See all articles