일반적인 쉘 명령

Jun 29, 2019 am 10:09 AM

일반적인 쉘 명령

下面为大家总结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; =
로그인 후 복사

위 내용은 일반적인 쉘 명령의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

패턴 매칭을 위해 Linux에서 정규식 (Regex)을 어떻게 사용합니까? 패턴 매칭을 위해 Linux에서 정규식 (Regex)을 어떻게 사용합니까? Mar 17, 2025 pm 05:25 PM

이 기사는 패턴 매칭, 파일 검색 및 텍스트 조작을 위해 Linux에서 정규식 (Regex)을 사용하는 방법, 구문, 명령 및 Grep, Sed 및 Awk와 같은 도구를 자세히 설명합니다.

Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까? Top, HTOP 및 VMSTAT와 같은 도구를 사용하여 Linux에서 시스템 성능을 모니터링하려면 어떻게해야합니까? Mar 17, 2025 pm 05:28 PM

이 기사는 Linux 시스템 성능을 모니터링하기위한 Top, HTOP 및 VMSTAT 사용에 대해 설명하고 효과적인 시스템 관리를위한 고유 한 기능 및 사용자 정의 옵션을 자세히 설명합니다.

Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까? Linux에서 SSH에 대해 2 단계 인증 (2FA)을 구현하려면 어떻게합니까? Mar 17, 2025 pm 05:31 PM

이 기사는 Google Authenticator를 사용하여 Linux에서 SSH에 대한 2 단계 인증 (2FA) 설정, 설치, 구성 및 문제 해결 단계에 대한 가이드를 제공합니다. Enhanced SEC와 같은 2FA의 보안 이점을 강조합니다.

패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까? 패키지 관리자 (APT, YUM, DNF)를 사용하여 Linux에서 소프트웨어 패키지를 어떻게 관리합니까? Mar 17, 2025 pm 05:26 PM

기사는 APT, YUM 및 DNF를 사용하여 Linux의 소프트웨어 패키지 관리, 설치, 업데이트 및 제거를 다루는 것에 대해 설명합니다. 다양한 분포에 대한 기능과 적합성을 비교합니다.

Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까? Sudo를 사용하여 Linux의 사용자에게 높은 권한을 부여하는 방법은 무엇입니까? Mar 17, 2025 pm 05:32 PM

이 기사는 Linux의 Sudo 권한을 관리하는 방법, 보안 및 보안 모범 사례를 포함하여 Linux의 Sudo 권한을 관리하는 방법을 설명합니다. 주요 초점은 /etc /sudoers를 안전하게 편집하고 액세스를 제한하는 데 중점을 둡니다. 문자 수 : 159

Linux 배포를 어떻게 구축하고 사용자 정의합니까? Linux 배포를 어떻게 구축하고 사용자 정의합니까? Mar 14, 2025 pm 04:45 PM

이 기사는 LFS 및 데비안 기반 시스템과 같은 빌드 도구, 패키지 사용자 정의 및 커널 수정을 사용하여 기본 시스템 선택을 다루고, 기본 시스템 선택을 다루고, 기본 시스템 선택을 다루는 과정에 대해 자세히 설명합니다. 또한 소프트웨어 관리에 대해서도 논의합니다

Linux (STATIC IP, DHCP, DNS)에서 네트워킹을 어떻게 구성합니까? Linux (STATIC IP, DHCP, DNS)에서 네트워킹을 어떻게 구성합니까? Mar 14, 2025 pm 04:55 PM

이 기사는 정적 IP, DHCP 및 DNS 구성 설정에 중점을 둔 Linux 네트워킹 구성에 대한 안내서를 제공합니다. 구성 파일을 편집하고 네트워크 서비스를 다시 시작하여 변경 사항을 적용하기위한 단계를 자세히 설명합니다.

가장 인기있는 Linux 배포판 (Ubuntu, Debian, Fedora, Centos)은 무엇입니까? 가장 인기있는 Linux 배포판 (Ubuntu, Debian, Fedora, Centos)은 무엇입니까? Mar 14, 2025 pm 04:50 PM

이 기사에서는 Ubuntu, Debian, Fedora 및 Centos와 같은 인기있는 Linux 배포판에 대해 설명합니다. Ubuntu와 Debian의 릴리스주기, 소프트웨어 가용성 및 지원 및 높은 비교

See all articles