首页 > 分享 > 100个常用Shell命令使用讲解(非常详细)零基础入门到精通,收藏这一篇就够了

100个常用Shell命令使用讲解(非常详细)零基础入门到精通,收藏这一篇就够了

在大多数的Linux和Unix系统、及其他类Unix系统中,Shell是用户与操作系统内核交互的主要方式。作为一种强大的命令行解释器,它也支持编程功能,用户可以写脚本来处理各种任务。

无论是新手还是专业人士,掌握Shell命令都是必不可少的技能。本文逐个解读和展示Shell脚本中最常用的100个命令,并为每个命令提供实际的例子。

目录

文件操作命令

搜索命令

目录操作命令

权限操作命令

网络操作命令

进程和系统控制命令

文本操作命令

压缩与解压命令

磁盘使用管理命令

包管理命令

进程管理命令

环境变量命令

系统信息发布命令

系统控制命令

文本编辑命令

其他有用命令

文件操作命令

以下是在Linux系统中操作文件的一些常用命令:

ls:列出目录的内容

ls /home 12 cd:改变目录

cd /home/user/Documents 12 pwd:打印当前工作目录

pwd 12 cat:查看文件内容

cat /etc/passwd 12 more:分页查看文件内容

more /var/log/syslog 12 less:反向分页查看文件内容

less /var/log/syslog 12 touch:创建一个空文件或更改文件的访问和修改时间

touch /home/user/newfile.txt 12 cp:复制文件或目录

cp /home/user/file.txt /home/user/Documents 12 mv:移动或重命名文件或目录

mv /home/user/file.txt /home/user/Documents/newfile.txt 12 rm:删除文件或目录

rm /home/user/unwantedfile.txt 12 find:在文件系统中搜索文件或目录

find / -name "*.log" 12 grep:在文件中搜索具有特定模式的行

grep "error" /var/log/syslog 12 head:输出文件的开始部分

head -n 10 /var/log/syslog 12 tail:输出文件的尾部

tail -n 20 /var/log/syslog 12 sort:对文本文件的行进行排序

sort /etc/passwd 12 wc:计算字数、行数和字节数

wc /var/log/syslog 12 cut:从文件的每一行中剪切字节、字符和字段

cut -d: -f1 /etc/passwd 12 nano,vi,emacs:常用的文本编辑器

nano /home/user/file.txt vi /home/user/file.txt emacs /home/user/file.txt 1234 paste:合并文件的行。

paste file1.txt file2.txt 12

搜索命令

以下命令可以帮助你搜索文件或文本:

find:在文件系统中搜索文件或目录。

find / -name "*.log" 12 grep:在文本文件中搜索决定的文本模式。

grep "error" /var/log/syslog 12 locate:基于文件名在数据库中快速找到文件。

locate myFile.txt 12 which:返回可执行文件的路径。

which java 12 ack:特别为程序员设计的一款文件搜索工具。默认会忽略多数版本控制文件夹(如.git, .svn等)的内容。

ack "your_search_term" 12 ag(The Silver Searcher):比ack更快的代码搜索工具,同样默认忽略 .git 等版本控制文件夹中的内容。

ag "your_search_term" 12 whereis:此命令可用于查找二进制程序、源文件、手册页以及其他文件的位置。

whereis ls 12 type:此命令用于确定某个命令是内部 shell 命令、可执行文件还是别名。

type pwd 12 apropos:如果你只记得关于某个命令的部分信息,你可以使用 apropos 命令来搜索帮助手册中的命令描述。

apropos partition 12 alias:如果你经常使用某些 Linux 命令,你可以使用 alias 命令为这些常用命令创建一个短名,以提升你的工作效率。

alias l='ls -al' 12

目录操作命令

以下是在Linux系统中操作目录的一些常用命令:

mkdir:创建一个新的目录

mkdir /home/user/new_directory 12 rmdir:删除一个空目录

rmdir /home/user/empty_directory 12 tree:以树形结构列出目录的内容

tree /home/user/ 12 du:估计文件和目录的磁盘使用空间

du -sh /home/user/Documents 12 df:显示磁盘使用空间

df -h 12

权限操作命令

在Linux系统中,文件和目录的访问可以通过权限操作命令进行控制:

chmod:更改文件或目录的权限

chmod 755 /home/user/file.txt 表示设置文件的主用户有读,写和执行权限(rwx = 7),同组的用户和其他用户有读和执行权限(rx = 5)。 12 chown:更改文件或目录的所有者和所属的组

chown newuser:newgroup /home/user/file.txt 表示将/home/user/file.txt的所有者更改为newuser,所属的组更改为newgroup。 123 chgrp:更改文件或目录的所属组

chgrp newgroup /home/user/file.txt 表示将/home/user/file.txt的所属的组更改为newgroup。 123

网络操作命令

以下是在Linux系统中与网络相关的一些常用命令:

ping:发送网络请求以测试网络连接

ping www.google.com 12 ifconfig:显示或配置网络接口

ifconfig eth0 12 netstat:显示网络连接、路由表等网络状态信息

netstat -ntlp 12 ssh:远程登录或执行远程命令

ssh user@remote_host 1 scp:在本地和远程系统之间安全地复制文件

scp /path/to/file user@remote_host:/remote/path/ 12 curl:获取网络资源

curl www.google.com 12 telnet:远程登录工具

telnet remote_host 23 1 nslookup:查询 DNS 名称服务器的记录

nslookup www.google.com 12 ftp:在本地主机和FTP服务器之间建立FTP连接。

ftp ftp_server 12 wget:获取网络资源

wget www.google.com -o google.html 1

进程和系统控制命令

以下是在Linux系统中管理进程和控制系统的一些常用命令:

ps:显示当前进程的状态

ps aux 12

top:动态显示运行中的进程

kill:发送信号以终止进程

kill 1234 12 shutdown:关闭机器

shutdown -h now 1

reboot:重启机器

logout:退出登录会话

文本操作命令

在编写或处理文本文件时,下列命令可以帮助你完成各种复杂任务:

echo:打印信息到终端。

echo "Hello, World!" 12 printf:格式化并打印信息。

printf "Name: %snAge: %dn" "Alice" 20 12 sed:流编辑器,用于对文本文件进行特定的行处理和替换。

echo "Hello, World!" | sed 's/World/Shell/g' 12 awk:在文本文件中进行模式扫描和处理语言。

echo -e "nametagenAlicet20nBobt22" | awk '{if ($2 >= 21) print $1}' 12

压缩与解压命令

以下命令主要用于管理和操作文件压缩及解压:

tar:创建、展开及管理tar包。

tar -cvf archive.tar folder 12 gzip:用于文件压缩或解压。

gzip file 12 gunzip:用于解压gzip压缩的文件。

gunzip file.gz 12 zip/unzip:创建和解压zip格式的压缩包。

zip -r archive.zip folder unzip archive.zip 123

磁盘使用管理命令

管理和查看磁盘使用情况:

df:报告文件系统磁盘空间使用情况。

df -h 12 du:估计并报告文件及文件夹的磁盘使用情况。

du -sh folder 12 fdisk:对磁盘进行分区管理。

sudo fdisk -l 12 hdparm:查看或修改SATA/ATA磁盘参数。

sudo hdparm -i /dev/sda 12

包管理命令

在Debian,Ubuntu及其他基于Debian的系统中,可以使用以下命令进行软件包管理:

apt-get:APT包处理工具,用于处理包。

sudo apt-get install package 12 dpkg:Debian包管理器。

sudo dpkg -i package.deb 12

在RedHat, CentOS及其他基于RPM的系统中,可以使用以下命令进行软件包管理:

yum:高级软件包管理器,用于处理rpm包。

sudo yum install package 12 rpm:RPM包管理器。

sudo rpm -i package.rpm 12

进程管理命令

查看和管理正在运行的进程:

ps:报告进程当前状态。

ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.4 225848 7836 ? Ss Nov10 4:05 /lib/systemd/systemd --system --deserialize 39 root 2 0.0 0.0 0 0 ? S Nov10 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? I< Nov10 0:00 [kworker/0:0H] 123456

top:动态显示当前耗费系统资源最多的进程。

htop:比top更友好的动态进程查看工具。

htop 12

kill:终止或者发送一个信号到指定进程。

pkill:条件地终止或者发送一个信号到指定进程。

pkill process_name 12

环境变量命令

查看或设置环境变量:

env:显示当前所有的环境变量。

输入:env 输出: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SHELL=/bin/bash PWD=/home/user 123456 set:显示当前shell所有的环境变量及函数。

输入:set 输出:展示所环境变量以及函数 12 export:设置或显示环境变量。

输入: export VARName="Value" echo $VARName 输出结果: Value 123456

系统信息发布相关命令

有时,你可能想要查看有关你的系统或硬件的信息。以下命令可以帮助你做到这一点:

uname:会打印操作系统的名称。

输入: uname 输出: Linux 12345 hostname:打印系统的主机名。

输入: hostname 输出: myhostname 12345 dmesg:打印或控制内核环形缓冲区。

输入: dmesg | less 123 df:展示文件系统的磁盘空间使用情况。

输入:df -h 输出: Filesystem Size Used Avail Use% Mounted on udev 962M 0 962M 0% /dev tmpfs 200M 4.3M 196M 3% /run /dev/sda1 30G 4.7G 24G 17% / 123456 free:展示系统中未使用和已经使用的物理和swap内存。

输入:free -h 输出: total used free shared buff/cache available Mem: 3.8G 487M 1.9G 122M 1.4G 3.0G Swap: 0B 0B 0B 123456 uptime:展示系统已经运行了多久,有多少用户正在登录,以及系统负载。

输入:uptime 输出: 16:14:30 up 43 min, 1 user, load average: 0.34, 0.36, 0.40 123 last:查看系统的重启和关机记录。

输入:last reboot 12 w:展示哪些用户正在登录。

输入:w 输出: 16:17:51 up 1:42, 1 user, load average: 0.45, 0.47, 0.38 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT user tty1 14:36 1:42m 1.55s 0.06s w 12345 who:展示哪些用户正在登录,和w命令相似但信息更少。

输入:who 输出: user tty1 2022-01-28 14:36 123 id:展示当前用户的UID、GID以及所在的组。

输入:id 输出:uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare) 12

系统控制命令

在一些特殊情况下,你可能需要进行一些系统控制操作。以下命令可以帮助你做到这一点:

halt:关机。

输入:sudo halt 12 reboot:重启系统。

输入:sudo reboot 12 shutdown:关机或者重启,和上述两个命令一样,但是提供更多的选项。

关闭系统:sudo shutdown -h now 重启系统:sudo shutdown -r now 123 passwd:更改用户密码。

更改密码:passwd 12

文本编辑器命令

Linux提供了多种命令行文本编辑器。以下这些可能是你需要知道的:

vi/vim:vi是一个文本编辑器,而vim是vi的改进版,提供了更多的功能。

nano:一个简单易用的命令行文本编辑器。

emac:一个强大的文本编辑器,也是一个定制化的计算环境。

其他常用命令

man:查看命令的帮助文档。

whatis:显示一个命令的简单描述。

输入:whatis ls 输出:ls (1) - list directory contents 123 whereis:查找命令的二进制文件、源文件及帮助文档位置。

输入:whereis ls 输出:ls: /bin/ls /usr/share/man/man1/ls.1.gz 123 which:查找并显示给定命令的完整路径。

输入:which ls 输出:/bin/ls 12 whoami:打印当前有效的用户名。

输入:whoami 输出:user 123 date:显示或设置系统日期和时间

输入:date 输出: Tue Dec 21 02:16:12 UTC 2021 123 cal:显示日历

输入:cal 输出: January 2022 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 12345678910

alias:创建命令别名

unalias:删除别名

history:显示命令历史

clear:清除屏幕或窗口内容

watch:用于实时查看当前命令打印信息

输入:watch -n 2 date 解释:watch`命令会每2秒运行一次`date`命令,并实时显示输出 123

大多数人学习Shell脚本的最大动力是提高效率。使用Shell脚本,可以编写一个任务,然后让计算机去做,而你可以去忙其他的事情;可以编写一个任务,让计算机重复执行,而不需要你每次在命令行手动输入;可以更灵活地处理任务,比如管理用户,管理程序等。就这样,Shell脚本赋予你控制计算机的能力,一切尽在掌握。

在未来,实践未知,探索无限,最好的方式是动手试试看,愿这完整的100个命令清单能够成为你在Linux世界里的指南针!掌握Shell命令并利用它们来编写脚本能够极大地提升工作效率,无论是进行系统管理还是进行程序设计,这都是一种强大的工具。

`黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

相关知识

Docker常用命令大全(超详细),零基础入门到精通,收藏这一篇就够了!
数码摄影从零基础到精通(拍摄+后期完美版)
shell常用命令+练习(值得收藏)
零基础宠物美容入门必学:工具的使用、基础洗
零基础数码摄影后期 Photoshop照片处理轻松入门【全本
宠物美容学习全攻略:从入门到精通
摄影构图与用光从入门到精通(知名摄影家联袂推荐,摄影实战+视频教学=快速提升摄影构图与用光技术)
《零基础数码摄影后期:PHOTOSHOP照片处理轻松入门》【价格 目录 书评 正版】
零基础数码摄影后期 Photoshop照片处理轻松入门
《数码时代无菜鸟(数码后期修片从入门到精通全新版)》(光合网)

网址: 100个常用Shell命令使用讲解(非常详细)零基础入门到精通,收藏这一篇就够了 https://m.mcbbbk.com/newsview354947.html

所属分类:萌宠日常
上一篇: 玩DK必备的18个宏命令!
下一篇: Melvor Idle梅尔沃放置