Linux命令

Linux 是一个功能强大的操作系统,它提供了大量的命令来执行各种任务。以下是一些常用的 Linux 命令及其简要说明

vim编辑器:

1
2
3
4
5
6
vim a.java   	进入一般模式
i(按键) 进入插入模式(编辑模式)
ESC(按键) 退出
:wq 保存退出(shift+:调起输入框)
:q! 不保存退出(shift+:调起输入框)(内容有更改)(强制退出,不保留更改内容)
:q 不保存退出(shift+:调起输入框)(没有内容更改)

文件和目录操作:

ls: 列出目录内容
1
ll				查看当前目录下内容(LL的小写)
cd: 更改目录
1
2
3
4
cd ~			当前用户目录
cd / 根目录
cd - 上一次访问的目录
cd .. 上一级目录
pwd: 显示当前目录路径
1
pwd				查看当前工作目录
mkdir: 创建目录
1
2
3
4
mkdir aaa		在当前目录下创建aaa目录,相对路径;
mkdir ./bbb 在当前目录下创建bbb目录,相对路径;
mkdir /ccc 在根目录下创建ccc目录,绝对路径;
mkdir -p temp/nginx 创建递归目录,创建里面没有的目录文件
rmdir: 删除空目录
1

rm: 删除文件或目录(需谨慎使用)
1
2
3
rm -rf /bbb			强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示;
rm -r /bbb 普通删除。会询问你是否删除每一个文件
rmdir test01 目录的删除
cp: 复制文件或目录
1
2
cp -r /aaa /bbb			将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa
cp -r /aa /bbb/aaa 将/目录下的aa目录复制到/bbb目录下,且修改名为aaa;
mv: 移动或重命名文件或目录
1
2
3
4
mv 原先目录 文件的名称   mv tomcat001 tomcat    重命名
mv /aaa /bbb 将根目录下的aaa目录,移动到bbb目录下(假如没有bbb目录,则重命名为bbb);
mv bbbb usr/bbb 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb;
mv bbb usr/aaa 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为aaa;
touch: 创建空文件或更新文件时间戳
1
touch testFile    创建文件
ln: 创建链接文件(硬链接或符号链接)
1
ln -s /usr/local/app /data  创建软连接时,data目录后不加 / (加上后是查找其下一级目录)
find: 在文件系统中查找文件
1

文本操作

cat: 显示文件内容
1
cat a.java		查看a.java文件的最后一页内容;
more: 分页显示文件内容
1
2
more a.java		从第一页开始查看a.java文件内容,按回车键一行一行进行查看,
按空格键一页一页进行查看,q退出;
less: 与 more 类似,但功能更强大
1
2
less a.java		从第一页开始查看a.java文件内容,按回车键一行一行的看,
按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出;
head: 显示文件开头内容
1
2
head a.java				查看a.java文件的前10行内容;
head -n 7 a.java 查看a.java文件的前7行内容;
tail: 显示文件末尾内容
1
2
tail -f a.java			查看a.java文件的后10行内容;
tail -n 7 a.java 查看a.java文件的后7行内容;
grep: 在文件中搜索匹配的行
1
2
3
4
5
grep under 123.txt			在123.txt文件中搜索under字符串,大小写敏感,显示行;
grep -n under 123.txt 在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
grep -v under 123.txt 在123.txt文件中搜索under字符串,大小写敏感,显示没搜索到的行;
grep -i under 123.txt 在123.txt文件中搜索under字符串,大小写敏感,显示行;
grep -ni under 123.txt 在123.txt文件中搜索under字符串,大小写敏感,显示行及行号;
sed: 流编辑器,用于对输入流(文件或管道)进行基本文本转换
1
sed -i 's/Jack/me/g/ replace.java    全文将Jack替换为me(g是全部替换,不加只替换首个)
awk: 用于文本和数据提取的工具
1
awk [options] 'cmd' file

权限和用户管理:

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

chown: 更改文件或目录的所有者和组
1
2
3
4
5
```

##### `chgrp`: 更改文件或目录的组

```bash
useradd: 添加新用户
1
useradd –d /usr/sum -m sum
userdel: 删除用户
1
2
3
4
5
6
```

##### `groupadd`: 添加新组

```bash
groupadd groupname
groupdel: 删除组
1
groupdel groupname
id: 显示当前用户或指定用户的实际和有效用户ID和组ID
1
2
3
4
5
```

##### `su`: 切换到另一个用户账户

```bash
sudo: 以另一个用户的身份执行命令(通常用于超级用户)

进程管理:

ps: 显示当前进程的快照。
top: 动态显示进程信息(实时)。
htop: 一个增强的 top 命令,具有更多的功能和更好的界面。
kill: 发送信号以终止、继续或停止进程。
pkillkillall: 根据名称发送信号给进程。
nohup: 运行命令,忽略挂起(HUP)信号。
fgbg: 将作业放到前台或后台执行。
jobs: 列出当前 shell 会话中的作业。

系统信息:

uname: 显示系统信息(内核名称、主机名、内核版本号等)。
uptime: 显示系统运行时间、用户数、负载等。
w: 显示已登录的用户和他们正在执行的命令。
who: 显示已登录的用户。
last: 显示最近登录的用户列表。
dmidecode: 显示硬件信息(需要 root 权限)。
lscpulshw: 显示 CPU 和硬件的详细信息。
free: 显示内存使用情况。
vmstat: 报告关于进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。

网络管理:

ifconfigip: 显示和配置网络接口。
netstat: 显示网络连接、路由表、接口统计等。
ss: 另一个用于查看系统套接字统计信息的工具(比 netstat 更快)。
ping: 发送 ICMP ECHO_REQUEST 到网络主机。
traceroutetracert: 显示数据包从源主机到目标主机之间的路由。
nslookupdig: 查询 DNS 记录。
telnet: 用于登录到远程主机的 TELNET 会话。
nc (netcat): 一个小巧但功能强大的网络工具,可以读写 TCP 和 UDP 数据。