Gängige Shell-Befehle

Jun 29, 2019 am 10:09 AM

Gängige Shell-Befehle

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

前言

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

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

echo >/dev/tcp/8.8.8.8/53 && echo "open"
Nach dem Login kopieren

让进程转入后台:

Ctrl + z
Nach dem Login kopieren

将进程转到前台:

fg
Nach dem Login kopieren

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

openssl rand -hex n
Nach dem Login kopieren

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

source /home/user/file.name
Nach dem Login kopieren

截取前5个字符:

${variable:0:5}
Nach dem Login kopieren

SSH debug 模式:

ssh -vvv user@ip_address
Nach dem Login kopieren

SSH with pem key:

ssh user@ip_address -i key.pem
Nach dem Login kopieren

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

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs
Nach dem Login kopieren

一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}
Nach dem Login kopieren

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

ps axwef
Nach dem Login kopieren

创建 war 文件:

jar -cvf name.war file
Nach dem Login kopieren

测试硬盘写入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
Nach dem Login kopieren

测试硬盘读取速度:

hdparm -Tt /dev/sda
Nach dem Login kopieren

获取文本的md5 hash:

echo -n "text" | md5sum
Nach dem Login kopieren

检查xml格式:

xmllint --noout file.xml
Nach dem Login kopieren

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

tar zxvf package.tar.gz -C new_dir
Nach dem Login kopieren

使用curl获取HTTP头信息:

curl -I http://www.example.com
Nach dem Login kopieren

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

touch -t 0712250000 file
Nach dem Login kopieren

用wget命令执行ftp下载:

wget -m ftp://username:password@hostname
Nach dem Login kopieren

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

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;
Nach dem Login kopieren

快速备份一个文件:

cp some_file_name{,.bkp}
Nach dem Login kopieren

访问Windows共享目录:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir
Nach dem Login kopieren

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

!100
Nach dem Login kopieren

解压:

unzip package_name.zip -d dir_name
Nach dem Login kopieren

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

cat > test.txt
Nach dem Login kopieren

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

\> test.txt
Nach dem Login kopieren

与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com
Nach dem Login kopieren

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

netstat -lnt4 | awk &#39;{print $4}&#39; | cut -f2 -d: | grep -o &#39;[0-9]*&#39;
Nach dem Login kopieren

qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw
Nach dem Login kopieren

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

watch ps -ef
Nach dem Login kopieren


所有用户列表:

getent passwd
Nach dem Login kopieren

Mount root in read/write mode:

mount -o remount,rw /
Nach dem Login kopieren

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

mount --bind /source /destination
Nach dem Login kopieren

动态更新DNS server:

nsupdate < <EOF update add $HOST 86400 A $IP send EOF
Nach dem Login kopieren

递归grep所有目录:

grep -r "some_text" /path/to/dir
Nach dem Login kopieren

列出前10个最大的文件:

lsof / | awk &#39;{ if($7 > 1048576) print $7/1048576 "MB "$9 }&#39; | sort -n -u | tail
Nach dem Login kopieren

显示剩余内存(MB):

free -m | grep cache | awk &#39;/[0-9]/{ print $4" MB" }&#39;
Nach dem Login kopieren

打开Vim并跳到文件末:

vim + some_file_name
Nach dem Login kopieren

Git 克隆指定分支(master):

git clone git@github.com:name/app.git -b master
Nach dem Login kopieren

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

git checkout develop
Nach dem Login kopieren

Git 删除分支(myfeature):

git branch -d myfeature
Nach dem Login kopieren

Git 删除远程分支

git push origin :branchName
Nach dem Login kopieren

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

git push -u origin mynewfeature
Nach dem Login kopieren

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

!cat:p
Nach dem Login kopieren

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

!cat
Nach dem Login kopieren

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

find /home/user -maxdepth 1 -type d -empty
Nach dem Login kopieren

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

< test.txt sed -n &#39;50,60p&#39;
Nach dem Login kopieren

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

sudo !!
Nach dem Login kopieren

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

mount -t tmpfs tmpfs /tmpram -o size=512m
Nach dem Login kopieren

Grep whole words:

grep -w "name" test.txt
Nach dem Login kopieren

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

echo "some text" | sudo tee -a /path/file
Nach dem Login kopieren

列出所有kill signal参数:

kill -l
Nach dem Login kopieren

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

kill -9 $$
Nach dem Login kopieren

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

nmap -p 8081 172.20.0.0/16
Nach dem Login kopieren

设置git email:

git config --global user.email "me@example.com"
Nach dem Login kopieren

To sync with master if you have unpublished commits:

git pull --rebase origin master
Nach dem Login kopieren

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

find -iname "*txt*" -exec mv -v {} /home/user \;
Nach dem Login kopieren

将文件按行并列显示:

paste test.txt test1.txt
Nach dem Login kopieren

shell里的进度条:

pv data.log
Nach dem Login kopieren

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

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000
Nach dem Login kopieren

将tabs转换成空格:

expand test.txt > test1.txt
Nach dem Login kopieren

Skip bash history:

< space >cmd
Nach dem Login kopieren

去之前的工作目录:

cd -
Nach dem Login kopieren

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

split –b 100m /path/to/large/archive /path/to/output/files cat files* > archive
Nach dem Login kopieren

使用curl获取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null
Nach dem Login kopieren

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

/usr/bin/mysql_secure_installation
Nach dem Login kopieren

当Ctrl + c不好使时:

Ctrl + \
Nach dem Login kopieren

获取文件owner:

stat -c %U file.txt
Nach dem Login kopieren

block设备列表:

lsblk -f
Nach dem Login kopieren

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

find . -type f -exec egrep -l " +$" {} \;
Nach dem Login kopieren

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

find . -type f -exec egrep -l $&#39;\t&#39; {} \;
Nach dem Login kopieren

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

printf &#39;%100s\n&#39; | tr &#39; &#39; =
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonGängige Shell-Befehle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie verwende ich reguläre Ausdrücke (REGEX) unter Linux für das Musteranpassung? Wie verwende ich reguläre Ausdrücke (REGEX) unter Linux für das Musteranpassung? Mar 17, 2025 pm 05:25 PM

In dem Artikel wird erläutert, wie reguläre Ausdrücke (REGEX) unter Linux für Musteranpassung, Dateisuche und Textmanipulation, Detailsyntax, Befehle und Tools wie Grep, SED und awk detailliert werden.

Wie überwache ich die Systemleistung unter Linux mithilfe von Tools wie Top, HTOP und VMSTAT? Wie überwache ich die Systemleistung unter Linux mithilfe von Tools wie Top, HTOP und VMSTAT? Mar 17, 2025 pm 05:28 PM

In dem Artikel werden die Leistung von Top, HTOP und VMSTAT zur Überwachung der Systemleistung der Linux -Systeme erläutert und deren eindeutige Funktionen und Anpassungsoptionen für eine effektive Systemverwaltung beschrieben.

Wie implementiere ich die Zwei-Faktor-Authentifizierung (2FA) für SSH in Linux? Wie implementiere ich die Zwei-Faktor-Authentifizierung (2FA) für SSH in Linux? Mar 17, 2025 pm 05:31 PM

Der Artikel enthält eine Anleitung zum Einrichten der Zwei-Faktor-Authentifizierung (2FA) für SSH unter Linux unter Verwendung von Google Authenticator, Detaillierung der Installations-, Konfigurations- und Fehlerbehebungsschritte. Es unterstreicht die Sicherheitsvorteile von 2FA, wie z. B. die verstärkte SEC

Wie benutze ich Sudo, um Benutzern in Linux erhöhte Berechtigungen zu gewähren? Wie benutze ich Sudo, um Benutzern in Linux erhöhte Berechtigungen zu gewähren? Mar 17, 2025 pm 05:32 PM

In dem Artikel wird erläutert, wie die Sudo -Privilegien in Linux verwaltet werden, einschließlich Gewährung, Widerruf und Best Practices für Sicherheitsvorschriften. Der Hauptaugenmerk liegt auf der sicheren Bearbeitung /etc /sudoers und der Begrenzung des Zugangs. Charakterzahl: 159

Wie verwalte ich Softwarepakete unter Linux mithilfe von Paketmanagern (APT, YUM, DNF)? Wie verwalte ich Softwarepakete unter Linux mithilfe von Paketmanagern (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

In Artikel werden die Verwaltung von Softwarepaketen unter Linux mithilfe von APT, YUM und DNF besprochen, wobei die Installation, Updates und Entfernungen behandelt werden. Es vergleicht ihre Funktionen und Eignung für verschiedene Verteilungen.

Wie erstelle ich eine Linux -Verteilung? Wie erstelle ich eine Linux -Verteilung? Mar 14, 2025 pm 04:45 PM

Der Artikel beschreibt den Prozess des Erstellens und Anpassens einer Linux-Verteilung, die Auswahl eines Basissystems, mithilfe von Build-Tools wie LFS und Debian-basierten Systemen, Anpassungspakete und Änderungen des Kernels. Es wird auch die Verwaltung von Softwar erläutert

Wie konfiguriere ich das Netzwerk unter Linux (statisches IP, DHCP, DNS)? Wie konfiguriere ich das Netzwerk unter Linux (statisches IP, DHCP, DNS)? Mar 14, 2025 pm 04:55 PM

Der Artikel enthält eine Anleitung zum Konfigurieren von Linux -Netzwerken und konzentriert sich auf die Einrichtung statischer IP-, DHCP- und DNS -Konfigurationen. Es werden Schritte für die Bearbeitung von Konfigurationsdateien und das Neustart von Netzwerkdiensten beschrieben, um Änderungen anzuwenden.

Was sind die beliebtesten Linux -Verteilungen (Ubuntu, Debian, Fedora, Centos)? Was sind die beliebtesten Linux -Verteilungen (Ubuntu, Debian, Fedora, Centos)? Mar 14, 2025 pm 04:50 PM

In dem Artikel werden beliebte Linux -Verteilungen erörtert: Ubuntu, Debian, Fedora und CentOS, die sich auf ihre einzigartigen Funktionen und ihre Eignung für verschiedene Benutzer konzentrieren. Es vergleicht Ubuntu und Debian's Release -Zyklen, Softwareverfügbarkeit und -unterstützung und hoch

See all articles