Shell 常用命令
发布人:shili8
发布时间:2024-12-31 06:38
阅读次数:0
**Shell 常用命令**
Shell 是一种用于与操作系统交互的程序,用户可以通过 Shell 来执行各种命令、脚本和程序。以下是 Shell 常用的命令:
###1. 文件管理命令####1.1 ls`ls` 命令用于列出当前目录下的文件和子目录。
bash# 列出当前目录下的所有文件和子目录ls# 列出当前目录下的所有文件和子目录,包括隐藏文件ls -a# 列出当前目录下的所有文件和子目录,按照时间顺序排列ls -t# 列出当前目录下的所有文件和子目录,按照大小排序ls -S
####1.2 cd`cd` 命令用于改变当前工作目录。
bash# 进入 home 目录cd ~# 进入上一级目录cd .. # 进入指定目录cd /path/to/directory
####1.3 mkdir`mkdir` 命令用于创建新目录。
bash# 创建名为 mydir 的新目录mkdir mydir# 创建多个新目录mkdir dir1 dir2 dir3
####1.4 rmdir`rmdir` 命令用于删除空目录。
bash# 删除名为 mydir 的空目录rmdir mydir
####1.5 touch`touch` 命令用于创建新文件或更新时间戳。
bash# 创建名为 file.txt 的新文件touch file.txt# 更新 file.txt 文件的时间戳touch file.txt
####1.6 rm`rm` 命令用于删除文件或目录。
bash# 删除名为 file.txt 的文件rm file.txt# 强制删除名为 file.txt 的文件rm -f file.txt# 删除多个文件rm file1.txt file2.txt file3.txt# 删除空目录rm -d dir1 dir2 dir3
###2. 文件搜索命令####2.1 find`find` 命令用于在指定目录下查找文件。
bash# 在当前目录下查找名为 file.txt 的文件find . -name "file.txt" # 在当前目录下查找大小超过10MB 的文件find . -size +10M# 在当前目录下查找最后修改时间在1天内的文件find . -mtime -1
####2.2 grep`grep` 命令用于搜索指定字符串在文件中的出现。
bash# 在 file.txt 文件中搜索名为 "hello" 的字符串grep "hello" file.txt# 在多个文件中搜索名为 "hello" 的字符串grep "hello" file1.txt file2.txt file3.txt
###3. 文本处理命令####3.1 cat`cat` 命令用于显示指定文件的内容。
bash# 显示 file.txt 文件的内容cat file.txt# 将多个文件合并成一个文件cat file1.txt file2.txt > combined_file.txt
####3.2 tac`tac` 命令用于显示指定文件的内容,反向顺序。
bash# 显示 file.txt 文件的内容,反向顺序tac file.txt
####3.3 head`head` 命令用于显示指定文件的前几行。
bash# 显示 file.txt 文件的前10 行head -n10 file.txt# 显示 file.txt 文件的前5 行head -n5 file.txt
####3.4 tail`tail` 命令用于显示指定文件的后几行。
bash# 显示 file.txt 文件的最后10 行tail -n10 file.txt# 显示 file.txt 文件的最后5 行tail -n5 file.txt
####3.5 sort`sort` 命令用于对指定文件中的内容进行排序。
bash# 对 file.txt 文件中的内容进行升序排序sort file.txt# 对 file.txt 文件中的内容进行降序排序sort -r file.txt
###4. 文本编辑命令####4.1 vim`vim` 命令用于启动文本编辑器。
bash# 启动 vim 编辑器vim file.txt# 在 vim 编辑器中执行命令:q (退出) :w (保存) :x (保存并退出)
####4.2 nano`nano` 命令用于启动文本编辑器。
bash# 启动 nano 编辑器nano file.txt# 在 nano 编辑器中执行命令Ctrl+X (退出) Ctrl+S (保存) Ctrl+O (保存并退出)
###5. 运算和转换命令####5.1 expr`expr` 命令用于进行基本的数学运算。
bash# 将两个数字相加expr2 +3# 将两个数字相乘expr4 *5
####5.2 bc`bc` 命令用于进行高级的数学运算。
bash# 将两个数字相加echo "2+3" | bc# 将两个数字相乘echo "4*5" | bc
####5.3 awk`awk` 命令用于对文本文件中的内容进行处理和转换。
bash# 对 file.txt 文件中的内容进行处理和转换awk '{print $1}' file.txt# 对 file.txt 文件中的内容进行处理和转换,使用正则表达式awk '/hello/{print $0}' file.txt
####5.4 sed`sed` 命令用于对文本文件中的内容进行处理和转换。
bash# 对 file.txt 文件中的内容进行处理和转换sed 's/hello/hi/g' file.txt# 对 file.txt 文件中的内容进行处理和转换,使用正则表达式sed '/hello/{s/hello/hi/g}' file.txt
###6. 网络命令####6.1 ping`ping` 命令用于测试网络连接。
bash# 测试本机与远程主机之间的网络连接ping www.google.com# 测试本机与远程主机之间的网络连接,使用选项ping -c5 www.google.com
####6.2 netstat`netstat` 命令用于显示当前系统的网络状态。
bash# 显示当前系统的网络状态netstat -tlnp# 显示当前系统的网络状态,使用选项netstat -tlnpa | grep80
####6.3 ssh`ssh` 命令用于远程登录到其他主机。
bash# 远程登录到其他主机ssh user@host# 远程登录到其他主机,使用选项ssh -p22 user@host
####6.4 scp`scp` 命令用于远程复制文件。
bash# 远程复制文件scp file.txt user@host:/path/to/file# 远程复制文件,使用选项scp -p file.txt user@host:/path/to/file
####6.5 sftp`sftp` 命令用于远程登录到其他主机,并进行文件传输。
bash# 远程登录到其他主机,并进行文件传输sftp user@host# 远程登录到其他主机,并进行文件传输,使用选项sftp -P22 user@host
###7. 其它命令####7.1 time`time` 命令用于显示执行某个命令所需的时间。
bash# 显示执行某个命令所需的时间time ls -l# 显示执行某个命令所需的时间,使用选项time -p ls -l
####7.2 uptime`uptime` 命令用于显示系统运行时间。
bash# 显示系统运行时间uptime# 显示系统运行时间,使用选项uptime -p
####7.3 whoami`whoami` 命令用于显示当前登录用户的名称。
bash# 显示当前登录用户的名称whoami# 显示当前登录用户的名称,使用选项whoami -m
####7.4 id`id` 命令用于显示当前登录用户的信息。
bash# 显示当前登录用户的信息id# 显示当前登录用户的信息,使用选项id -u
####7.5 groups`groups` 命令用于显示当前