1. 文件与目录操作
ls
- 用法:列出目录内容。
- 选项:
-l
:长格式显示(包括权限、大小、修改时间等)。-a
:显示所有文件,包括隐藏文件。
- 示例:
ls //列出当前目录文件。
ls -l //详细列出文件信息。
ls -a //列出包括隐藏文件的所有文件。
cd
- 用法:切换到指定目录。
- 示例:
cd /home/user //切换到指定目录。
cd .. //返回上一级目录。
cd ~ //切换到用户主目录。
pwd
- 用法:显示当前工作目录的完整路径。
- 示例:
pwd
cp
- 用法:复制文件或目录。
- 选项:
-r
:递归复制目录。-i
:在覆盖文件时提示确认。
- 示例:
cp -r /source /destination
复制整个目录。
cp file1.txt file2.txt //复制 file1.txt 为 file2.txt。
cp -r dir1/ dir2/ //递归复制目录 dir1 到 dir2。
mv
- 用法:移动或重命名文件或目录。
- 示例:
mv oldname.txt newname.txt //重命名文件。
mv file.txt /path/to/destination/ //移动文件到指定路径。
rm
- 用法:删除文件或目录。
- 选项:
-r
:递归删除目录及其内容。-i
:在删除前提示确认。
- 示例:
rm file.txt //删除文件。
rm -r directory/ //递归删除目录及其内容。
mkdir
- 用法:创建新目录。
- 示例:
mkdir newfolder //创建新目录。
mkdir -p /path/to/newfolder //创建多级目录。
rmdir
- 用法:删除空目录。
- 示例:
rmdir emptyfolder //删除空目录。
2. 文件内容查看
cat
- 用法:查看文件内容,连接文件。
- 示例:
cat file.txt //查看文件内容。
cat file1.txt file2.txt //连接并显示多个文件内容。
cat file.txt | grep "关键词" //对file.txt进行关键词搜索
cat file.txt | grep -i "关键词" //对file.txt进行关键词忽略大小写的搜索
cat file.txt | grep -n "关键词" //对file.txt进行关键词搜索,并显示匹配行的行号
cat file.txt | grep -E "关键词1|关键词2" //对file.txt进行多个关键词搜索
cat file.txt | grep --color=auto "关键词" //对file.txt进行关键词搜索,高亮显示关键词
cat file.txt | grep -m 5 "关键词" //对file.txt进行关键词搜索,仅显示前 5 个匹配的结果
cat file.txt | grep -C 5 "关键词" //对file.txt进行多个关键词搜索,显示匹配行及其前后各 5 行
more
- 用法:分页查看文件内容。
- 示例:
more file.txt //分页查看文件。
less
- 用法:分页查看文件内容,支持上下滚动。
- 示例:
ess file.txt //分页查看文件,支持上下滚动。
head
- 用法:查看文件的前几行。
- 选项:
-n
:指定显示的行数。
- 示例:
head -n 5 file.txt //查看文件的前 5 行。
tail
- 用法:查看文件的后几行。
- 选项:
-n
:指定显示的行数。-f
:实时查看文件更新(跟踪文件变化)。
- 示例:
tail -f file.txt
实时查看file.txt
的最新内容。
tail -n 5 file.txt //查看文件的后 5 行。
tail -f log.txt //实时查看日志文件更新。
3. 系统管理
top
- 用法:实时显示系统进程和资源使用情况。
- 示例:
top //实时显示进程信息。
ps
- 用法:显示当前运行的进程。
- 选项:
aux
:显示所有用户的进程。
- 示例:
ps aux //显示所有进程的详细信息。
ps aux |grep "关键词" //根据关键词查询进程的详细信息
kill
- 用法:终止指定进程。
- 示例:
kill 1234 //终止进程 ID 为 1234 的进程。
df
- 用法:显示磁盘使用情况。
- 选项:
-h
:以人类可读的格式显示(如 GB)。
- 示例:
df -h //以人类可读格式显示磁盘使用情况。
du
- 用法:显示目录或文件的磁盘使用情况。
- 选项:
-h
:以人类可读的格式显示。-s
:仅显示总计。
- 示例:
du -sh /directory //显示指定目录的总大小。
free
- 用法:查看系统内存使用情况。
- 示例:
free -h //以人类可读格式显示内存使用情况。
4. 网络相关
ping
- 用法:测试网络连接。
- 示例:
ping google.com //测试与 Google 的网络连接。
ifconfig
- 用法:查看或配置网络接口(在现代系统中,可能使用
ip
命令)。 - 示例:
ifconfig //查看网络接口配置。
netstat
- 用法:查看网络连接状态。
- 选项:
-tuln
:显示当前的 TCP/UDP 连接。
- 示例:
netstat -tuln //显示监听的 TCP/UDP 端口。
scp
- 用法:安全复制文件。
- 示例:
scp file.txt user@remote:/path //将文件复制到远程服务器。
ssh
- 用法:安全远程登录。
- 示例:
ssh user@remote
登录到远程服务器。
ssh user@remote //登录到远程服务器。
telnet
- 用法:检测端口号。
- 示例:
telnet example.com 80 //检测80端口是否连通,如果连接成功,将会看到连接成功的信息;如果不成功,会显示错误信息。
5. 压缩与解压
tar
- 用法:打包和压缩文件。
- 选项:
-c
:创建压缩文件。-x
:解压缩文件。-f
:指定文件名。-z
:使用 gzip 压缩。
- 示例:
tar -czf archive.tar.gz /directory //创建压缩包。
tar -xzf archive.tar.gz //解压缩文件。
gzip
- 用法:压缩文件。
- 示例:
gzip file.txt //压缩文件。
gunzip
- 用法:解压缩文件。
- 示例:
gunzip file.txt.gz //解压缩文件。
6. 权限与用户管理
chmod
- 用法:修改文件权限。
- 示例:
chmod 755 file.sh
设置文件的权限。
chmod 755 script.sh //设置文件权限。
chown
- 用法:修改文件所有者。
- 示例:
chown user:group file.txt //更改文件所有者和组。
useradd
- 用法:添加新用户。
- 示例:
useradd newuser
添加名为newuser
的用户。
useradd newuser //添加新用户。
passwd
- 用法:更改用户密码。
- 示例:
passwd username
更改用户的密码。
passwd username //更改指定用户的密码。
Java常用命令
java -jar app.jar //启动java进程
java -jar app.jar > output.log 2>&1 //把日志输出到 output.log 文件。
java -jar app.jar --spring.profiles.active=dev //指定那个环境的配置文件生效
java -jar app.jar --server.port=8081 //指定服务的端口号为8081
nginx常用命令
systemctl start nginx //启动 Nginx
systemctl stop nginx //停止 Nginx
systemctl restart nginx //重启 Nginx
systemctl reload nginx //当更改了 Nginx 配置文件后,可以重新加载配置,而无需完全重启
systemctl status nginx //查看 Nginx 状态
或者
service nginx start //启动 Nginx
service nginx stop //停止 Nginx
service nginx restart //重启 Nginx
service nginx reload //当更改了 Nginx 配置文件后,可以重新加载配置,而无需完全重启
service nginx status //查看 Nginx 状态
redis常用命令
systemctl start redis //启动 mysql
systemctl stop redis //关闭 MySQL
systemctl restart redis //重启mysql
systemctl status redis //查看 MySQL 服务状态
或者
service redis start //启动 mysql
service redis stop //关闭 MySQL
service redis restart //重启mysql
service redis status //查看 MySQL 服务状态
mysql常用命令
systemctl start mysql //启动 mysql
systemctl stop mysql //关闭 MySQL
systemctl restart mysql //重启mysql
systemctl status mysql //查看 MySQL 服务状态
或者
service mysql start //启动 mysql
service mysql stop //关闭 MySQL
service mysql restart //重启mysql
service mysql status //查看 MySQL 服务状态
Docker常用命令
systemctl start docker //启动 Docker 服务
systemctl stop docker //停止 Docker 服务
systemctl restart docker //重启 Docker 服务
systemctl status docker //查看 Docker 状态
docker pull imagename //从 Docker Hub 拉取镜像
docker images //列出本地镜像
docker rmi imagename //删除镜像
docker run -itd --name containername imagename //使用imagename镜像后台运行一个容器,容器名称是containername
docker ps //列出运行中的容器
docker ps -a //列出所有容器(包括停止的容器)
docker stop containername //停止容器
docker start containername //启动已停止的容器
docker rm containername //删除容器
docker logs containername //查看容器日志
docker exec -it containername /bin/bash //进入运行中的容器
docker build -t imagename . //使用 Dockerfile 构建镜像