Linux 常用命令

原文链接


1. 基本命令

1.1 关机和重启

shutdown -h now/poweroff 立刻关机
shutdown -h 5  5分钟后关机
shutdown -r now/reboot 立刻重启
shutdown -r 5 5分钟后重启

1.2 帮助命令

--help命令
ifconfig  --help 查看网卡信息
man命令(命令说明书)
man shutdown 注意:man shutdown 打开命令说明书之后,使用按键 q 退出

2. 目录操作命令

2.1 目录切换 cd

cd / 切换到根目录
cd /usr 切换到根目录下的 usr 目录
cd .. 切换到上一级目录
cd ~ 切换到 home 目录
cd -  切换到上次访问的目录

2.2 目录查看 ls

ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件   如:ls /usr

2.3 目录操作【增,删,改,查】

mkdir 创建目录【增】
mkdir aaa 在当前目录下创建一个名为 aaa 的目录
mkdir /usr/aaa 在指定目录下创建一个名为 aaa 的目录
rm 删除目录或文件【删】( rm 不仅可以删除目录,也可以删除其他文件或压缩包)
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
rm -r aaa 递归删除当前目录下的 aaa 目录
rm -rf aaa 递归删除当前目录下的 aaa 目录(不询问)
rm -rf *  将当前目录下的所有目录和文件全部删除
rm -rf /*  将根目录下的所有文件全部删除
mv 和 cp 目录修改【改】
mv aaa bbb 将目录 aaa 改为 bbb
mv /usr/tmp/aaa /usr 将 /usr/tmp 目录下的 aaa 目录剪切到 /usr 目录下面
cp /usr/tmp/aaa  /usr 将 /usr/tmp 目录下的 aaa 目录复制到 /usr 目录下面
find 搜索目录【查】
find /usr/tmp -name 'a*' 查找 /usr/tmp 目录下的所有以 a 开头的目录或文件

3. 文件操作命令

3.1 文件操作【增,删,改,查】

touch 新建文件【增】
touch  aa.txt 在当前目录创建一个名为 aa.txt 的文件
rm 删除文件 【删】
rm -rf aaa 递归删除当前目录下的 aaa 文件(不询问)
vi 或 vim 修改文件【改】
vi aa.txt 或者 vim aa.txt 打开当前目录下的 aa.txt 文件 
cat/more/less/tail 文件的查看【查】
cat sudo.conf 查看 /etc/sudo.conf 文件,只能显示最后一屏内容
more sudo.conf 查看 /etc/sudo.conf 文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q 可以退出查看
less sudo.conf 查看 /etc/sudo.conf 文件,可以使用键盘上的 PgUp 和 PgDn 向上和向下翻页,q 结束查看
tail -10 sudo.conf 查看 /etc/sudo.conf 文件的后10行,Ctrl+C 结束  

扩展: 基本上 vi 可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)

  • 命令模式(command mode)

     控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入 Insert mode 下,或者到 last line mode。

    • 控制光标移动:↑,↓,j
    • 删除当前行:dd 
    • 查找:/字符
    • 进入编辑模式:i o a
      • i:在光标所在字符前开始插入
      • a:在光标所在字符后开始插入
      • o:在光标所在行的下面另起一新行插入
    • 进入底行模式::
  • 编辑模式(Insert mode)

     只有在 Insert mode 下,才可以做文字输入,按「ESC」键可回到命令行模式。

    • 退出编辑模式到命令行模式:ESC
  • 底行模式(last line mode)

     将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

    • 退出编辑: :q
    • 强制退出::q!
    • 保存并退出: :wq

3.2 权限修改

chmod +x aaa.txt 给 aaa.txt 文件权限改为可执行文件权限
chmod 100 aaa.txt

rwx:r 代表可读,w 代表可写,x 代表该文件是一个可执行文件,如果 rwx 任意位置变为 - 则代表不可读或不可写或不可执行文件。

   421  421  421
-  rw-  ---  ---
第一位:- 就代表是文件,d 代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限

4. 压缩文件操作

4.1 打包和压缩

tar -zcvf ab.tar aa.txt bb.txt  打包并压缩 /usr/tmp 下的所有文件,压缩后的压缩包指定名称为xxx.tar

Windows 的压缩文件的扩展名  .zip/.rar

Linux 中的打包文件:aa.tar

Linux 中的压缩文件:bb.gz

Linux 中打包并压缩的文件:.tar.gz

tar -zcvf 打包压缩后的文件名 要打包的文件

z:调用 gzip 压缩命令进行压缩

c:打包文件

v:显示运行过程

f:指定文件名

4.2 解压

tar -xvf ab.tar -C /usr 将 /usr/tmp 下的 ab.tar 解压到根目录 /usr 下

 x:代表解压

C:代表指定解压的位置

5. 查找命令

5.1 grep

ps -ef | grep sshd 查找指定 ssh 服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身
ps -ef | grep sshd -c 查找指定进程个数

5.2 find

find . -name "*.log" -ls 在当前目录查找以 .log 结尾的文件,并显示详细信息
find /root/ -perm 600 查找 /root/ 目录下权限为600的文件
find . -type f -name "*.log"  查找当目录,以 .log 结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件

5.3 locate

locate /etc/sh 搜索 etc 目录下所有以 sh 开头的文件
locate pwd 查找和 pwd 相关的所有文件

5.4 whereis

whereis ls 将和 ls 文件相关的文件都查找出来

5.5 which

which pwd 查找 pwd 命令所在路径
which java 查找 path 中 java 的路径

6. 用户切换

6.1 su

su 用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是 root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。

su test 切换到 test 用户,但是路径还是 /root 目录
su - test 切换到 test 用户,路径变成了 /home/test
su 切换到 root 用户,但是路径还是原来的路径
su - 切换到 root 用户,并且路径是 /root
exit 退出返回之前的用户

su 不足:如果某个用户需要使用 root 权限、则必须要把 root 密码告诉此用户

6.2 sudo

sudo 是为所有想使用 root 权限的普通用户设计的。可以让普通用户具有临时使用 root 权限的权利。只需输入自己账户的密码即可。

vi sudo 进入 sudo 配置文件
hadoop  ALL=(ALL)   ALL 允许 hadoop 用户以 root 身份执行各种应用命令,需要输入 hadoop 用户的密码。
hadoop  ALL=NOPASSWD:  /bin/ls, /bin/cat  只允许 hadoop 用户以 root 身份执行 ls 、cat命令,并且执行时候免输入密码。

7. 系统服务

service iptables status 查看 iptables 服务的状态
service iptables start 开启 iptables 服务
service iptables stop 停止 iptables 服务
service iptables restart 重启 iptables 服务
chkconfig iptables off 关闭 iptables 服务的开机自启动
chkconfig iptables on 开启 iptables 服务的开机自启动

8. 网络管理

8.1 主机名配置

[root@node1 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1

8.2 IP 地址配置

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

8.3 域名映射

/etc/hosts 文件用于在通过主机名进行访问时做 ip 地址解析之用。所以,你想访问一个什么样的主机名,就需要把这个主机名和它对应的 ip 地址。

[root@node1 ~]# vi /etc/hosts
#### 在最后加上
192.168.52.201  node1
192.168.52.202  node2
192.168.52.203  node3

9. 定时任务指令 crontab 配置

crontab 是 Unix 和 Linux 用于设置定时任务的指令。通过 crontab 命令,可以在固定间隔时间,执行指定的系统指令或 shell 脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

yum install crontabs crontab 安装
service crond start 启动服务
service crond stop 关闭服务
service crond restart 重启服务

9.1 命令格式

crontab file [-u user] 用指定的文件替代目前的 crontab
crontab -l [-u user] 列出用户目前的 crontab
crontab -e [-u user] 编辑用户目前的 crontab

参数说明:

-u user:用来设定某个用户的 crontab 服务

file:file 是命令文件的名字,表示将 file 做为 crontab 的任务列表文件并载入 crontab

-e:编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前用户的 crontab 文件

-l:显示某个用户的 crontab 文件内容。如果不指定用户,则表示显示当前用户的crontab文件内容

-r:删除定时任务配置,从 /var/spool/cron 目录中删除某个用户的 crontab 文件,如果不指定用户,则默认删除当前用户的crontab文件

9.2 配置说明、实例

*   *   *   *   *   command :分  时  日  月  周  命令

第1列表示分钟1~59 每分钟用 * 或者  */1 表示    

第2列表示小时0~23(0表示0点)

第3列表示日期1~31  

第4列表示月份1~12  

第5列标识号星期0~6(0表示星期天)  

第6列要运行的命令

crontab -e 打开定时任务所在的文件
*/1 * * * * date >> /root/date.txt 每分钟执行一次 date 命令 
30 21 * * * service httpd restart 每晚的21:30重启 apache
45 4 1,10,22 * * service httpd restart 每月1、10、22日的4 : 45重启 apache
10 1 * * 6,0 service httpd restart 每周六、周日的1 : 10重启 apache
0,30 18-23    *   *   *   service httpd restart 每天18 : 00至23 : 00之间每隔30分钟重启apache
*  23-7/1    *   *   *   service httpd restart 晚上11点到早上7点之间,每隔一小时重启apache

10. 其他命令

pwd 查看当前目录路径
ps -ef 查看所有正在运行的进程
kill pid/kill -9 pid 结束/强制结束进程,pid:进程号
ifconfig 查看网卡信息
ping ip 查看与某台机器的连接情况
netstat -an 查看当前系统端口
netstat -an | grep 8080 搜索指定端口
setup 配置网络
service network restart 重启网络
chkconfig iptables off 关闭防火墙
iptables -L/iptables -F
service iptables stop
chmod 777 修改文件权限
ctrl + l 清屏

 

posted @   北宫天影  阅读(139)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示