Linux常用命令
作为一名开发人员,部署项目也需要操作Linux服务器。下面一些常用的linux命令,方便查看使用
Hot Key
1. 文件管理命令
1.1 查看目录下文件 ls
ls # 仅列出当前目录可见文件
ls -l # 列出当前目录可见文件详细信息
ls -hl # 列出详细信息并以可读大小显示文件大小
ls -al # 列出所有文件(包括隐藏)的详细信息
ls --human-readable --size -1 -S --classify # 按文件大小排序
du -sh * | sort -h # 按文件大小排序(同上)
1.2 切换用户当前工作目录 cd
cd # 进入用户主目录;
cd / # 进入根目录
cd ~ # 进入用户主目录;
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. # 返回上两级目录;
cd ! # 把上个命令的参数作为cd参数使用。
1.3 创建新目录 mkdir
mkdir images/ #创建目录
mkdir -p movies/2004/ #创建子目录时,递归创建父目录
mkdir -m 700 /usr/meng/test #创建目录的同时设置权限,其他人无权访问
1.4 删除空目录 rmdir
rmdir www #删除当前目录下,名为www的子目录
rmdir -p www/Test #删除子目录时,父目录为空,则亦删除
1.5 打印当前目录 pwd
pwd
1.6 创建空文件 touch
touch ex2 #当前目录下建立一个空文件ex2,大小为0
touch -c ex2 #如果文件已经存在,则不创建该文件。避免意外覆盖现有文件
1.7 复制文件或目录 cp
目标文件参数必须是一个已经存在的目录,否则将出现错误
cp file.txt /path/to/destination/ #复制文件到指定目录
cp –r test/ newtest #复制 test 目录下的所有文件到 newtest 目录
cp -i /usr/men m*.c /usr/zh #将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中,覆盖既有文件之前先询问
cp -rfb ./* ../backup #递归强复制,将当前目录下所有文件,复制到当前目录的兄弟目录 backup 文件夹中
1.8 移动/重命名文件或目录 mv
mv file.txt /home/office/ #移动 file 文件到 /home/office 目录下
mv file_2.txt file_3.txt file_4.txt /home/office/ #移动3个文件到 /home/office 目录下
mv *.txt /home/office/ #移动所有的 txt 文件到 /home/office 目录下
mv directory_1/ /home/office/ #移动目录到 /home/office 目录下
mv file_1.txt file_2.txt #将文件 file_1.txt 改名为 file_2.txt
mv directory_1/ directory_2/ #将目录 directory_1 改名为 directory_2
mv -v *.txt /home/office #打印移动信息
mv -i file_1.txt /home/office #如果已存在,则提示是否覆盖文件
mv -uv *.txt /home/office #源文件比目标文件新时才执行更新
mv -vn *.txt /home/office #不要覆盖任何已存在的文件
mv -bv *.txt /home/office #复制时创建备份
mv -f *.txt /home/office #无条件覆盖已经存在的文件
1.9 删除文件或目录 rm
rm testfile.txt #删除文件
rm -r testdir #递归删除目录下的所有文件和目录
rm -i test example #删除前先询问
rm -r -i testdir #删除文件夹内的文件前,询问
rm -f testfile.txt testfile_1.txt #强制删除,忽略不存在的文件
rm -rf testdir #强制删除 目录下的所有文件和目录
rm -I file1 file2 file3 #删除多个文件仅提示一次
rm -v [文件/目录] #删除并打印详情
1.10 编辑文本(命令行环境) vim
vim content.txt #打开文件,如果文件不存在,则创建一个空文件并打开; 注:此时为命令模式。
命令模式: 通过各种快捷键操作当前文本。
输入模式: 可以编辑文本内容。
末行模式: 文末输入特定指令配置文件。
1.10.1 文本插入操作
i: 在当前光标的前面插入字符
a: 在当前光标的后面追加字符
o: 在当前光标的下一行行首插入字符
I: 在一行的开头添加文本
A: 在一行的结尾处添加文本
O: 在光标当前行的上一行插入文本
s: 删除当前光标处的字符并进入到插入模式
S: 删除光标所在处的行,并进入到插入模式
u: 撤销修改
1.10.2 文本查找
/string 正向查找
?string 反向查找
n 下一个
N 上一个
1.10.3 撤销修改、重做与保存
u: 撤销上一步的操作。
Ctrl+r: 反撤销
:U 恢复一整行原来的面貌(文件打开时的文本状态)
:q 若文件没有修改,直接退出
:q! 文件已经被修改,放弃修改退出
:wq 文件已经被修改,保存修改并退出
:e! 放弃修改,重新回到文件打开时的状态
1.11 查看文件内容 cat
cat ./1.log ./2.log ./3.log #合并显示多个文件
cat -n test.log # 显示文件并在所有行开头附加行号
cat -b test.log # 显示文件并在所有非空行开头附加行号
1.12 分屏显示文件内容 less
b #向上翻一页
空格、f #向下翻一页
回车 #向下翻一行
PgUp 与 PgDn #进行翻页
/string 正向查找
?string 反向查找
n 下一个
N 上一个
1.13 显示文件末尾内容 tail
tail file #(显示文件file的最后10行)
tail -n +20 file #(显示文件file的内容,从第20行至文件末尾)
tail -c 10 file #(显示文件file的最后10个字节)
tail -25 mail.log # 显示 mail.log 最后的 25 行
tail -f mail.log # 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F mail.log # 等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
1.14 查找文件/目录 find
find /home -name "*.txt" #在/home目录下查找以.txt结尾的文件名
find /home -iname "*.txt" #同上,但忽略大小写
1.15 查找文件/目录(更快、基于索引) locate
locate pwd #查找和pwd相关的所有文件
updatedb #新增文件搜索不到时,执行此命令更新索引
1.16 归档、压缩、解压 tar
zip
unzip
tar -cvf archive.tar file1 file2 directory #将3个文件打包归档到 archive.tar 中
tar -xvf archive.tar #解包归档文件
tar -tvf archive.tar #列出归档文件中的目录和文件
tar -rvf archive.tar newfile #追加 newfile 到 archive.tar 中
tar -zcvf archive.tar.gz directory #打包并gzip压缩 directory 目录下的所有目录文件到 archive.tar.gz 中
tar -zxvf example.tar.gz #gzip解压 example.tar.gz
tar -cjvf archive.tar.bz2 directory #bzip2 压缩
tar -xjvf archive.tar.bz2 #bzip2 解压
tar -cJvf archive.tar.xz directory #xz 压缩
tar -xJvf archive.tar.xz #xz 解压
zip -q -r html.zip /home/html #将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip
unzip test.zip -d /tmp #在 /tmp 目录下解压 test.zip 文件
2. 进程命令
2.1 查看进程 ps
ps -ef | grep java #查看当前正在运行的java进程
2.2 结束进程 kill
kill PID #结束进程;等同 -15
kill -9 PID #强制、立即结束进程
2.3 实时系统监控 top
top
3. 辅助命令
3.1 查看命令历史 history
history #列出全部历史命令
history 7 #列出最近的7条命令
3.2 发送网络请求 curl
3.3 下载文件 wget
wget -P /root https://example.com/file.tar.gz #下载文件到指定目录
wget http://example.com/file.zip -O myfile.zip #下载文件并重命名为 myfile.zip
3.4 后台运行程序 nohup
nohup java -jar server2.jar >> out.log & #后台运行jar包,并输入日志到 out.log 文件中
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果