常用liunx命令相关

cd

cd /home 进入 '/ home' 目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录

pwd

显示当前路径

ls

ls 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 列出全部文件,包含隐藏文件
ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
ls [0-9] 显示包含数字的文件名和目录名

cp

复制文件

-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
复制文件,只有源文件比目标文件的修改时间新时,才复制文件
cp -u -v file1 file2

.将文件file1复制成文件file2
cp file1 file2

.采用交互方式将文件file1复制成文件file2
cp -i file1 file2

.将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
cp -f file1 file2

.将目录dir1复制成目录dir2
cp -R file1 file2

.同时将文件file1、file2、file3与目录dir1复制到dir2
cp -R file1 file2 file3 dir1 dir2

.复制时保留文件属性
cp -p a.txt tmp/

.复制时保留文件的目录结构
cp -P /var/tmp/a.txt ./temp/

.复制时产生备份文件
cp -b a.txt tmp/

.复制时产生备份文件,尾标 ~1~格式
cp -b -V t a.txt /tmp

.指定备份文件尾标
cp -b -S _bak a.txt /tmp

mv

移动文件、目录或更名

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
-u :若目标文件已经存在,且比目标文件新,才会更新
如果在同步录下,没有这个文件,将会更改文件名
.将test文件名改为new1
mv test new1
如果在同步录下,有这个文件,将会移动到该文件下面
.将test1.py路径的文件,移动到新目录test下面
mv test1.py test

rm

删除文件或目录

-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
警告:该命令如果执行了,请立马收拾行李赶紧跑路,谢谢!!!
警告:该命令如果执行了,请立马收拾行李赶紧跑路,谢谢!!!
警告:该命令如果执行了,请立马收拾行李赶紧跑路,谢谢!!!
rm -rf *

cat

查看文本文件的内容,后接要查看的文件名

cat file1 从第一个字节开始正向查看文件的内容
cat -n file1 标示文件的行数
head -n 2 file1 查看一个文件的前两行
tail -n 2 file1 查看一个文件的最后两行
tail -n +1000 file1 从1000行开始显示,显示1000行以后的
cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行
cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)

find

文件搜索

find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件

grep

grep 查找文件里符合条件的字符串,常与管道符|、cat、ps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程

-c:统计符合字符串条件的行数
-v:显示不包括文本的所有信息
过滤test.txt文件中hello内容

grep hello test.txt
统计test.txt中hello内容的行数

grep -c hello test.txt

grep、cat、管道符配合使用

过滤test.txt文件中hello内容
(cat 打印文件内容,|管道符,将一个命令的输出作为另外一个命令的输入)

cat test.txt |grep hello
过滤ssh进程信息
(ps 打印进程信息,ssh 过滤关键字,|管道符,将一个命令的输出作为另外一个命令的输入)

ps -ef|grep ssh

chmod

权限范围:

u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组

权限代号:

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示

数字与字符对应关系如下:

r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7

-rwxrwxrwx   1 zhouzongxin  staff  7103  4 19 21:33 test2.py

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
- rwx rwx rwx
ls -lh 显示权限或者 ls -al

7=可读/可写/可执行
777=文件所有者、用户组、其他用户都是可读、可写、可执行

chomd 777 test2.py

tar

打包和压缩文件

-z	打包同时压缩
-c	产生.tar打包文件
-x	解包.tar文件
-v	显示详细信息
-f	指定压缩后的文件名
tar -cf archive.tar foo bar  # 从文件 foo 和 bar创建归档文件 archive.tar
tar -tvf archive.tar  # 详细列出归档文件中所有文件
tar -xf archive,tar  # 展开归档文件中所有文件

tar -cf all.tar *.jpg   # 利用所有的jpg文件生成新的归档
tar -rf all.tar *.gif   # 将所有的.git文件追加到all.tar中去
tar -uf all.tar logo.gif   # 更新tar包中的logo.gif文件
tar -tf all.tar   # 列出all.tar中的所有文件

tar压缩

压缩test2.py,命名为test3.tar.gz
tar -zcvf test3.tar.gz test2.py 

tar解压

tar -zxvf test2.tar.gz

ps

查询某个时间点的进程运行情况

-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态

top

显示进程信息 top [参数]

-d	指定每两次屏幕信息刷新之间的时间间隔,如希望每秒刷新一次,则使用:top -d 1
-p	通过指定PID来仅仅监控某个进程的状态
-S	指定累计模式
-s	使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
-i	使top不显示任何闲置或者僵死的进程
-c	显示整个命令行而不只是显示命令名

ps与top的区别

ps看到的是命令执行瞬间的进程信息,而top可以持续的监视
ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗
另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)

kill

杀死进程

kill -9 pid (-9表示强制关闭)
killall -9 程序的名字
pkill 程序的名字

系统和关机 (系统的关机、重启以及登出 )

shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
time 测算一个命令(即程序)的执行时间

猜你喜欢

转载自blog.csdn.net/zhouzongxin94/article/details/124616055