Commandes shell courantes

Jun 29, 2019 am 10:09 AM

Commandes shell courantes

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

前言

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

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

echo >/dev/tcp/8.8.8.8/53 && echo "open"
Copier après la connexion

让进程转入后台:

Ctrl + z
Copier après la connexion

将进程转到前台:

fg
Copier après la connexion

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

openssl rand -hex n
Copier après la connexion

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

source /home/user/file.name
Copier après la connexion

截取前5个字符:

${variable:0:5}
Copier après la connexion

SSH debug 模式:

ssh -vvv user@ip_address
Copier après la connexion

SSH with pem key:

ssh user@ip_address -i key.pem
Copier après la connexion

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

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs
Copier après la connexion

一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}
Copier après la connexion

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

ps axwef
Copier après la connexion

创建 war 文件:

jar -cvf name.war file
Copier après la connexion

测试硬盘写入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
Copier après la connexion

测试硬盘读取速度:

hdparm -Tt /dev/sda
Copier après la connexion

获取文本的md5 hash:

echo -n "text" | md5sum
Copier après la connexion

检查xml格式:

xmllint --noout file.xml
Copier après la connexion

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

tar zxvf package.tar.gz -C new_dir
Copier après la connexion

使用curl获取HTTP头信息:

curl -I http://www.example.com
Copier après la connexion

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

touch -t 0712250000 file
Copier après la connexion

用wget命令执行ftp下载:

wget -m ftp://username:password@hostname
Copier après la connexion

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

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;
Copier après la connexion

快速备份一个文件:

cp some_file_name{,.bkp}
Copier après la connexion

访问Windows共享目录:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir
Copier après la connexion

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

!100
Copier après la connexion

解压:

unzip package_name.zip -d dir_name
Copier après la connexion

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

cat > test.txt
Copier après la connexion

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

\> test.txt
Copier après la connexion

与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com
Copier après la connexion

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

netstat -lnt4 | awk &#39;{print $4}&#39; | cut -f2 -d: | grep -o &#39;[0-9]*&#39;
Copier après la connexion

qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw
Copier après la connexion

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

watch ps -ef
Copier après la connexion


所有用户列表:

getent passwd
Copier après la connexion

Mount root in read/write mode:

mount -o remount,rw /
Copier après la connexion

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

mount --bind /source /destination
Copier après la connexion

动态更新DNS server:

nsupdate < <EOF update add $HOST 86400 A $IP send EOF
Copier après la connexion

递归grep所有目录:

grep -r "some_text" /path/to/dir
Copier après la connexion

列出前10个最大的文件:

lsof / | awk &#39;{ if($7 > 1048576) print $7/1048576 "MB "$9 }&#39; | sort -n -u | tail
Copier après la connexion

显示剩余内存(MB):

free -m | grep cache | awk &#39;/[0-9]/{ print $4" MB" }&#39;
Copier après la connexion

打开Vim并跳到文件末:

vim + some_file_name
Copier après la connexion

Git 克隆指定分支(master):

git clone git@github.com:name/app.git -b master
Copier après la connexion

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

git checkout develop
Copier après la connexion

Git 删除分支(myfeature):

git branch -d myfeature
Copier après la connexion

Git 删除远程分支

git push origin :branchName
Copier après la connexion

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

git push -u origin mynewfeature
Copier après la connexion

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

!cat:p
Copier après la connexion

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

!cat
Copier après la connexion

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

find /home/user -maxdepth 1 -type d -empty
Copier après la connexion

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

< test.txt sed -n &#39;50,60p&#39;
Copier après la connexion

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

sudo !!
Copier après la connexion

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

mount -t tmpfs tmpfs /tmpram -o size=512m
Copier après la connexion

Grep whole words:

grep -w "name" test.txt
Copier après la connexion

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

echo "some text" | sudo tee -a /path/file
Copier après la connexion

列出所有kill signal参数:

kill -l
Copier après la connexion

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

kill -9 $$
Copier après la connexion

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

nmap -p 8081 172.20.0.0/16
Copier après la connexion

设置git email:

git config --global user.email "me@example.com"
Copier après la connexion

To sync with master if you have unpublished commits:

git pull --rebase origin master
Copier après la connexion

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

find -iname "*txt*" -exec mv -v {} /home/user \;
Copier après la connexion

将文件按行并列显示:

paste test.txt test1.txt
Copier après la connexion

shell里的进度条:

pv data.log
Copier après la connexion

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

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000
Copier après la connexion

将tabs转换成空格:

expand test.txt > test1.txt
Copier après la connexion

Skip bash history:

< space >cmd
Copier après la connexion

去之前的工作目录:

cd -
Copier après la connexion

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

split –b 100m /path/to/large/archive /path/to/output/files cat files* > archive
Copier après la connexion

使用curl获取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null
Copier après la connexion

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

/usr/bin/mysql_secure_installation
Copier après la connexion

当Ctrl + c不好使时:

Ctrl + \
Copier après la connexion

获取文件owner:

stat -c %U file.txt
Copier après la connexion

block设备列表:

lsblk -f
Copier après la connexion

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

find . -type f -exec egrep -l " +$" {} \;
Copier après la connexion

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

find . -type f -exec egrep -l $&#39;\t&#39; {} \;
Copier après la connexion

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

printf &#39;%100s\n&#39; | tr &#39; &#39; =
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Mar 17, 2025 pm 05:25 PM

L'article explique comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs, la recherche de fichiers et la manipulation du texte, la syntaxe détaillant, les commandes et les outils comme Grep, SED et AWK.

Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Mar 17, 2025 pm 05:28 PM

L'article discute de l'utilisation de TOP, HTOP et VMSTAT pour surveiller les performances du système Linux, détaillant leurs fonctionnalités uniques et leurs options de personnalisation pour une gestion efficace du système.

Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Mar 17, 2025 pm 05:31 PM

L'article fournit un guide sur la configuration de l'authentification à deux facteurs (2FA) pour SSH sur Linux à l'aide de Google Authenticator, détaillant l'installation, la configuration et les étapes de dépannage. Il met en évidence les avantages de sécurité du 2FA, comme SEC amélioré

Comment configurer Selinux ou Apparmor pour améliorer la sécurité dans Linux? Comment configurer Selinux ou Apparmor pour améliorer la sécurité dans Linux? Mar 12, 2025 pm 06:59 PM

Cet article compare les modules de sécurité SELINUX et Apparmor, Linux, fournissant un contrôle d'accès obligatoire. Il détaille leur configuration, mettant en évidence les différences d'approche (basées sur la stratégie vs basée sur le profil) et les impacts de performance potentiels

Comment sauvegarder et restaurer un système Linux? Comment sauvegarder et restaurer un système Linux? Mar 12, 2025 pm 07:01 PM

Cet article détaille les méthodes de sauvegarde et de restauration du système Linux. Il compare les sauvegardes d'image système complètes avec des sauvegardes incrémentielles, discute des stratégies de sauvegarde optimales (régularité, emplacements multiples, versioning, test, sécurité, rotation) et DA

Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Mar 17, 2025 pm 05:32 PM

L'article explique comment gérer les privilèges sudo à Linux, y compris l'octroi, la révocation et les meilleures pratiques de sécurité. L'accent est mis sur l'édition / etc.

Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables? Comment configurer un pare-feu à Linux en utilisant un pare-feu ou des iptables? Mar 12, 2025 pm 06:58 PM

Cet article compare la configuration du pare-feu Linux à l'aide de Firewalld et Iptables. Firewalld propose une interface conviviale pour la gestion des zones et des services, tandis que Iptables fournit un contrôle de bas niveau via la manipulation de la ligne de commande du NetFilter FRA

Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

L'article discute de la gestion des packages de logiciels dans Linux à l'aide d'APT, YUM et DNF, couvrant l'installation, les mises à jour et les déménagements. Il compare leurs fonctionnalités et leur pertinence pour différentes distributions.

See all articles