suchen

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"

让进程转入后台:

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; =

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!

Stellungnahme
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
Wie Debian die Hadoop -Datenverarbeitungsgeschwindigkeit verbessertWie Debian die Hadoop -Datenverarbeitungsgeschwindigkeit verbessertApr 13, 2025 am 11:54 AM

In diesem Artikel wird erläutert, wie die Effizienz der Hadoop -Datenverarbeitung auf Debian -Systemen verbessert werden kann. Optimierungsstrategien decken Hardware -Upgrades, Parameteranpassungen des Betriebssystems, Änderungen der Hadoop -Konfiguration und die Verwendung effizienter Algorithmen und Tools ab. 1. Hardware -Ressourcenverstärkung stellt sicher, dass alle Knoten konsistente Hardwarekonfigurationen aufweisen, insbesondere die Aufmerksamkeit auf die Leistung von CPU-, Speicher- und Netzwerkgeräten. Die Auswahl von Hochleistungs-Hardwarekomponenten ist wichtig, um die Gesamtverarbeitungsgeschwindigkeit zu verbessern. 2. Betriebssystem -Tunes -Dateideskriptoren und Netzwerkverbindungen: Ändern Sie die Datei /etc/security/limits.conf, um die Obergrenze der Dateideskriptoren und Netzwerkverbindungen zu erhöhen, die gleichzeitig vom System geöffnet werden dürfen. JVM-Parameteranpassung: Einstellen in der Hadoop-env.sh-Datei einstellen

Wie man Debian Syslog lerntWie man Debian Syslog lerntApr 13, 2025 am 11:51 AM

In diesem Leitfaden werden Sie erfahren, wie Sie Syslog in Debian -Systemen verwenden. Syslog ist ein Schlüsseldienst in Linux -Systemen für Protokollierungssysteme und Anwendungsprotokollnachrichten. Es hilft den Administratoren, die Systemaktivitäten zu überwachen und zu analysieren, um Probleme schnell zu identifizieren und zu lösen. 1. Grundkenntnisse über syslog Die Kernfunktionen von Syslog umfassen: zentrales Sammeln und Verwalten von Protokollnachrichten; Unterstützung mehrerer Protokoll -Ausgabesformate und Zielorte (z. B. Dateien oder Netzwerke); Bereitstellung von Echtzeit-Protokoll- und Filterfunktionen. 2. Installieren und Konfigurieren von Syslog (mit Rsyslog) Das Debian -System verwendet standardmäßig Rsyslog. Sie können es mit dem folgenden Befehl installieren: sudoaptupdatesud

So wählen Sie Hadoop -Version in DebianSo wählen Sie Hadoop -Version in DebianApr 13, 2025 am 11:48 AM

Bei der Auswahl einer für das Debian-System geeigneten Hadoop-Version müssen die folgenden Schlüsselfaktoren berücksichtigt werden: 1. Stabilität und langfristige Unterstützung: Für Benutzer, die Stabilität und Sicherheit verfolgen, wird empfohlen, eine Debian-Stable-Version wie Debian11 (Bullseye) auszuwählen. Diese Version wurde vollständig getestet und hat einen Unterstützungszyklus von bis zu fünf Jahren, der den stabilen Betrieb des Systems gewährleisten kann. 2. Paket -Update -Geschwindigkeit: Wenn Sie die neuesten Hadoop -Funktionen und -funktionen verwenden müssen, können Sie die instabile Version (SID) von Debian in Betracht ziehen. Es ist jedoch zu beachten, dass instabile Versionen möglicherweise Kompatibilitätsprobleme und Stabilitätsrisiken aufweisen. 3.. Unterstützung und Ressourcen der Gemeinschaft: Debian hat eine enorme Unterstützung in der Gemeinschaft, die eine umfangreiche Unterlagen liefern kann und

Tigervnc Share -Dateimethode auf DebianTigervnc Share -Dateimethode auf DebianApr 13, 2025 am 11:45 AM

In diesem Artikel wird beschrieben, wie Sie mit Tigervnc Dateien auf Debian -Systemen teilen können. Sie müssen zuerst den Tigervnc -Server installieren und dann konfigurieren. 1. Installieren Sie den Tigervnc -Server und öffnen Sie das Terminal. Aktualisieren Sie die Softwarepaketliste: sudoaptupdate, um den Tigervnc Server zu installieren: sudoaptinstallTigervnc-standalone-servertigervnc-common 2. Konfigurieren Sie den Tigervnc-Server auf VNC-Serverkennwort: VNCPasswd VNC Server: VNCServer: 1-Lokalhostno-Kennwort

Debian Mail Server Firewall -KonfigurationstippsDebian Mail Server Firewall -KonfigurationstippsApr 13, 2025 am 11:42 AM

Das Konfigurieren der Firewall eines Debian -Mailservers ist ein wichtiger Schritt zur Gewährleistung der Serversicherheit. Im Folgenden sind mehrere häufig verwendete Firewall -Konfigurationsmethoden, einschließlich der Verwendung von Iptables und Firewalld. Verwenden Sie Iptables, um Firewall so zu konfigurieren, dass Iptables (falls bereits installiert) installiert werden:

Debian Mail Server SSL -Zertifikat -InstallationsmethodeDebian Mail Server SSL -Zertifikat -InstallationsmethodeApr 13, 2025 am 11:39 AM

Die Schritte zur Installation eines SSL -Zertifikats auf dem Debian Mail -Server sind wie folgt: 1. Installieren Sie zuerst das OpenSSL -Toolkit und stellen Sie sicher, dass das OpenSSL -Toolkit bereits in Ihrem System installiert ist. Wenn nicht installiert, können Sie den folgenden Befehl installieren: sudoapt-getupdatesudoapt-getinstallopenssl2. Generieren Sie den privaten Schlüssel und die Zertifikatanforderung als nächst

Debian Mail Server Virtual Host -KonfigurationsmethodeDebian Mail Server Virtual Host -KonfigurationsmethodeApr 13, 2025 am 11:36 AM

Das Konfigurieren eines virtuellen Hosts für Mail -Server auf einem Debian -System umfasst normalerweise die Installation und Konfiguration von Mailserver -Software (z. B. Postfix, Exim usw.) und nicht die APache HTTPServer, da Apache hauptsächlich für Webserverfunktionen verwendet wird. Im Folgenden finden Sie die grundlegenden Schritte für die Konfiguration eines Mailserver -Virtual -Host

Debian Mail Server DNS -Setup -HandbuchDebian Mail Server DNS -Setup -HandbuchApr 13, 2025 am 11:33 AM

Um die DNS -Einstellungen für den Debian Mail -Server zu konfigurieren, können Sie folgende Schritte befolgen: Öffnen Sie die Netzwerkkonfigurationsdatei: Verwenden Sie einen Texteditor (z. B. VI oder Nano), um die Netzwerkkonfigurationsdatei/etc/network/interfaces zu öffnen. Sudonano/etc/Netzwerk/Schnittstellen finden Sie Konfiguration der Netzwerkschnittstelle: Finden Sie die Netzwerkschnittstelle, die in der Konfigurationsdatei geändert werden soll. Normalerweise befindet sich die Konfiguration der Ethernet -Schnittstelle im IFETH0 -Block.

See all articles

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 vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),