当前位置:   article > 正文

Linux常用命令整理(适合初学)_linux常用命令大全新手入门

linux常用命令大全新手入门

关机、重启操作、帮助文档

1、帮助命令

1.1 help

help cd				#查看cd命令的帮助信息<help仅支持查看linux内建命令>
  • 1
vim --help			#查看vim命令的帮助信息<--help仅支持查看linux外部命令>
  • 1

内建命令:是shell程序的一部分,在linux系统加载运行时shell就被加载并驻留在系统内存中
外部命令:是linux系统中的实用程序部分,并不随系统一起被加载到内存中,而是在需要时才将其调用内存
查看方法:type command

1.2 man command

man stat			#查看stat命令帮助手册
  • 1

1.3 info command

info reboot			#查看reboot命令的详细信息
  • 1

2、关机、重启

2.1 重启shutdown、reboot、init

shutdown -r 10		#10分钟后重启
  • 1
shutdown -r now		#立即重启
init 1				#立即重启
reboot				#立即重启
  • 1
  • 2
  • 3

2.2 关机shutdown、poweroff、init、halt

shutdown -h 10		#10分钟后关机
  • 1
shutdown -h 12:00	#12点关机<如果时间大于12:00则第二日相同时间关机>
  • 1
shutdown -h now		#立即关机
poweroff			#立即关机
init 0				#立即关机
halt				#立即关机<不理会目前系统状况下,进行硬件关机,不建议使用>
  • 1
  • 2
  • 3
  • 4

目录、文件操作

1、目录切换 cd

命令:cd

cd ~				#切换到当前登录用户家目录
cd ~username		#切换到username用户家目录<root用户使用>
cd -				#切换到上次访问目录
cd /				#切换到根目录
cd ..				#切换到上一级目录
cd /home			#切换到根下的home目录
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

ESC+. 表示引用上一个命令的最后一个参数(等价于!$)

2、目录、文件查看 pwd、tree、ls、stat

pwd					#显示当前工作目录路径
  • 1
tree /home/			#树状显示目录结构
  • 1
ls					#查看当前目录下的所有目录和文件<不包含隐藏文件>
ls -a				#查看当前目录下的所有目录和文件<包含隐藏文件>
ll					#列表查看当前目录下的所有目录和文件<不包含隐藏文件>
ls -l				#列表查看当前目录下的所有目录和文件<不包含隐藏文件>
ll -d /home/		#列表查看home目录本身的信息
ll file.txt			#查看file.txt文件的信息<包含文件类型、权限、属主、属组、修改时间等信息>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
stat /home/			#查看home目录本身的详细信息
stat /home/file.txt	#或查看文件的详细信息
  • 1
  • 2

3、目录、文件操作[创建、删除、修改、查找]

3.1 创建目录 mkdir

用法:mkdir [选项]… 目录…

mkdir dir					#在当前目录下创建dir目录
mkdir /home/dir1 			#在/home目录下创建dir1目录
mkdir -p dir/dir2/dir3		#在当前目录下递归创建dir2、dir3目录<dir目录已存在就不会再创建>
mkdir -m 761 /home/dir4		#创建dir5是指定目录权限为rwxrw---x
mkdir -v dir{
   1..10}			#一次创建dir1-dir10十个目录并显示创建过程
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.2 创建空文件 touch

用法:touch [选项]… 文件…
linux中的touch命令不常用,一般用来修改文件时间戳,或者新建一个不存在的文件。

touch file.txt						#创建空文件file.txt,如果文件已存在则修改文件时间戳

touch -a file.txt					#只更改文件的存取时间
touch -m file.txt					#只更改变动时间

touch -r file.txt log.txt			#将file.txt文件的时间戳修改为log.txt的时间戳
touch -t 201910101212.30 file.txt	#按照[[CC]YY]MMDDhhmm[.SS]格式修改文件时间戳
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.3 删除目录、文件 rmdir、rm

mkdir用法:rmdir [选项]… 目录…<只能删除空目录>

rmdir dir10					#删除当前目录下的空目录dir10
rmdir -p dir/dir2			#递归删除目录,当子目录dir2删除后其父目录dir为空时,也一同被删除
  • 1
  • 2

rm用法:rm [选项]… 文件…

rm file						#删除文件
rm -r dir					#删除目录

rm -f file					#强制删除文件不提示
rm -rf dir					#强制删除目录下所有内容不提示

rm -rfv dir					#强制删除目录下所有内容不提示并显示删除过程
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.4 目录、文件修改 mv、cp、scp

mv用法: mv [选项]… 源文件或目录 目标文件或目录

mv old-file new-file		#将文件old-file重命名为new-file
mv old-dir new-dir			#将目录old-dir重命名为new-dir

mv old-file /home			#将文件old-file移动到/home目录下
mv old-dir /home			#将目录old-dir移动到/home目录下

mv file1 file2 /home		#将多个文件移动到/home目录下
mv dir1 dir2 dir3 /home		#将多个目录移动到/home目录下

mv -f file1 file2			#重命名file1为file2时如果file2已存在,直接强制覆盖不提示
mv file1 -b file2			#文件被覆盖前做简单备份
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

cp用法: cp [选项]… 源文件或目录 目标文件或目录

cp file.log file.txt		#拷贝file.log文件并命名为file.txt
cp file	/home				#将file文件拷贝到/home目录
cp -r dir1 dir2				#拷贝dir1目录并命名为dir2<如果dir2已存在,就会将dir1拷贝到dir2目录内>

cp -a dir3 dir4				#拷贝dir3目录为dir4时不改变时间戳
cp -r dir5 dir6				#将目录dir5的所有文件及其子目录复制到目录dir6中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

scp用法: scp [选项]… 源文件或目录 [远程主机用户名]@[远程主机IP地址]:目标文件或目录

scp /home/centos/ll.txt 192.168.189.130:/home/centos/				#将文件拷贝到远程主机不改变文件名<未指定用户名,默认root>
scp /home/centos/ll.txt root@192.168.189.130:/home/centos/			#将文件拷贝到远程主机不改变文件名

scp /home/centos/ll.txt 192.168.189.130:/home/centos/cc.txt			#将文件拷贝到远程主机并改变文件名<未指定用户名,默认root>
scp /home/centos/ll.txt root@192.168.189.130:/home/centos/cc.txt	#将文件拷贝到远程主机并改变文件名

scp -r /home/centos/ 192.168.189.130:/home/centos/					#将目录拷贝到远程主机不改变目录名<未指定用户名,默认root>
scp -r /home/centos/ root@192.168.189.130:/home/centos/				#将目录拷贝到远程主机不改变目录名
scp -r /home/centos/ root@192.168.189.130:/home/tt/					#将目录拷贝到远程主机并改变目录名
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3.5 文件查看 nl、cat、more、less、head、tail、wc

用法:nl [选项]… [文件]…

nl file.txt					#查看文件并显示行号<空白行不加行号>
nl -b a file.txt			#查看文件并显示行号<空白行加行号>
  • 1
  • 2

用法:cat [选项]… [文件]…

cat file.txt						#一次显示整个文件
cat -n file.txt						#查看文件并显示行号<空白行加行号>
cat -b file.txt						#查看文件并显示行号<空白行不加行号>

cat > cat.txt <<EOF					#从键盘创建一个新文件,不能编辑已有文件<EOF为输入结束符,可自定义>
cat file1.txt file2.txt >file.txt	#将多个文件合并为一个文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

用法:more [选项]… [文件]…
仅支持向下翻页

more file.txt				#会以一页一页的显示文件内容

more +10 file.txt			#从第10行开始显示文件内容
more -10 file.txt			#自定义屏幕大小为10行显示
  • 1
  • 2
  • 3
  • 4

用法:less [选项]… [文件]…
less功能与more类似,但是支持上下翻页,比more用户更多的搜索功能,而且less 在查看之前不会加载整个文件

less file.txt				#会以一页一页的显示文件内容
less file1.txt file2.txt	#同时查看多个文件 
less -N file.txt			#查看文件并显示行号
  • 1
  • 2
  • 3

用法:head [选项]… [文件]…

head log.txt				#查看文件的开头<默认显示10行>

head -n 30 log.txt			#查看文件的前30行
head -n -30 log.txt			#查看文件除了最后30行以外的内容

head -c 100 log.txt			#查看文件前100个字节
head -c -100 log.txt		#查看文件除了最后100个字节以外的内容
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

用法:tail [选项]… [文件]…

tail log.txt				#查看文件的末尾<默认显示10行>

tail -n 20 log.txt			#查看文件的后20行
tail -n +10 log.txt			#从第10行开始显示文件

tail -c 200 log.txt			#查看文件最后200个字节
tail -c +200 log.txt		#从第200个字节开始显示文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

用法:wc [选项]… [文件]…
wc命令可以计算文件的Byte数、字数、或是列数

wc file.txt					#依次显示文件的行数、字数、Byte数
wc file1.txt file2.txt		#同时计算多个文件的文件信息

wc -l file.txt				#只显示文件的行数
wc -w file.txt				#只显示文件的字数
wc -c file.txt				#只显示文件的Byte数<字节数>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3.6 文件查找 which、whereis、locate、find

用法:which [选项]… [命令]…

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

which which					#用which找出which命令的位置
which vim					#用which找出vim命令的位置
  • 1
  • 2

用法:whereis [选项]… 程序名…
whereis命令只能从数据库中查找程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。但是该数据库文件默认情况下时一星期更新一次,因此,在用whereis 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

whereis python				#将python相关的文件都查找出来
whereis -b python			#将python相关的二进制文件查找出来
whereis -m python			#将python相关的man说明文件查找出来
whereis -s python			#将python相关的源代码文件查找出
whereis -u python			#将python除可执行文件、源代码文件、帮助文件以外的其它文件
  • 1
  • 2
  • 3
  • 4
  • 5

用法:locate [选项]… 搜索模式…

locate vim					#查找和vim相关的所有文件
locate /home/l				#在/home目录下查找以l开头的文件
locate /home/*txt			#在/home目录下查找以txt结尾的文件
  • 1
  • 2
  • 3

Find 查找文件

用法:find 搜索路径… [选项]…搜索内容…[执行操作]…
find 是比较特殊的命令,它有两个参数:
第一个参数用来指定搜索路径
第二个参数用来指定搜索内容

按照文件名搜索

选项:
-name: 按照文件名搜索
-iname: 按照文件名搜索,不区分文件名大小
-inum: 按照 inode 号搜索

find / -name yum.conf		#在根目录下査找文件名是yum.conf的文件
  • 1

find 命令是完全匹配的,必须和搜索关键字一模一样才会列出

touch yum.conf.bak			#在/root/目录下建立一个文件yum.conf.bak
find /-name yum.conf		#搜索只能找到yum.conf文件,而不能找到 yum.conf.bak 文件
/etc/yum.conf
  • 1
  • 2
  • 3
按照 inode 号搜索

是区分硬链接文件的重要手段,因为硬链接文件的 inode 号是一致的

ls -i file					#查询文件的inode
ls -id /home				#查询目录的inode
stat 目录名/文件名			#查询目录或者文件的inode

find / -inum 64				#在根目录下查找inode号是64的文件
  • 1
  • 2
  • 3
  • 4
  • 5
按照文件大小搜索

选项:-size [±]大小
“+“的意思是搜索比指定大小还要大的文件,”-” 的意思是搜索比指定大小还要小的文件。

find -size 25k				#当前目录下查找大小刚好是25k的文件
find -size -25k				#当前目录下查找小于25k的文件
find -size +25k				#当前目录下查找大于25的文件
  • 1
  • 2
  • 3
按照修改时间搜索

选项:
-atime [±] 时间:按照文件访问时间搜索
-mtian [±] 时间:按照文件数据修改时间搜索
-ctime [±] 时间:按照文件状态修改时间搜索

find -atime -10				#查找十天内访问过的文件
find -mtime 10				#查找前十至十一天修改过数据的文件
find -ctime +10				#查找11天前修改过状态的文件
  • 1
  • 2
  • 3

Find 时间轴如下图:
find时间轴

按照文件权限搜索

选项:
-perm 权限模式:査找文件权限刚好等于"权限模式"的文件
-perm -权限模式:査找文件权限全部包含"权限模式"的文件
-perm +权限模式:査找文件权限包含"权限模式"的任意一个权限的文件

find -perm 444				#查找权限等于444的文件<査找的文件权限必须和指定的权限模式一模一样才可以找到>
find -perm -200				#查找权限全部包含200的文件<文件的权限必须全部包含搜索命令指定的权限模式才可以找到>
find -perm +200				#查找权限只要包含200任意一个权限的文件<只要包含任意一个指定权限就可以找到>
  • 1
  • 2
  • 3
按照文件属主和属组搜索

选项:
-uid 用户: ID按照用户 ID 査找所有者是指定 ID 的文件
-gid 组 ID:照用户组 ID 査找所属组是指定 ID 的文件
-user 用户名:按照用户名査找所有者是指定用户的文件
-group 组名:按照组名査找所属组是指定用户组的文件
-nouser:査找没有所有者的文件

find -uid 1000				#查找属主uid是1000的全部文件
find -gid 1001				#查找属组uid是1001的全部文件
find -user centos			#查找属主是centos用户的全部文件
find -group centos			#查找属组是centos组的全部文件
find -nouser				#查找没有所有者的文件,主要用于査找垃圾文件
  • 1
  • 2
  • 3
  • 4
  • 5
按照文件类型搜索

选项:
-type d :查找目录
-type f :查找普通文件
-type l :查找软链接文件

find /etc -type d			#查找 /etc目录下有哪些子目录
find /etc -type f			#查找 /etc目录下有哪些普通文件
find /etx -type l			#查找 /etc目录下有哪些软链接文件
  • 1
  • 2
  • 3

查看文件类型:file 文件名

—普通文件(文本文件,二进制文件,压缩文件,电影,图片…)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda, /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1, /dev/zero
s 套接字文件
p 管道文件
I 链接文件(淡蓝色)

逻辑运算符

-a :and逻辑与
-o :or逻辑或
-not :not逻辑非

find -size +2k -a -type f		#在当前目录下查找大于2k的普通文件
find -name cangls -o -name bols	#在当前目录下查找文件名要么是cangls,要么是bols的文件
find -not -name cangls			#在当前目录下查找文件名不是cangls的文件
  • 1
  • 2
  • 3
-exec、-ok选项

find 搜索路径 [选项] 搜索内容 -exec 命令2{} ;
首先,这里的"{}“和”;“是标准格式,只要执行”-exec"选项,这两个符号必须完整输入
其次,这个选项的作用其实是把 find 命令的结果交给由"-exec"调用的命令来处理。"{}"就代表 find 命令的査找结果。

find -perm 444 -exec ls -l {
   } \;		#查找权限等于444的文件并且查看文件信息
find -name ll.txt -exec rm -rf {
   } \;	#查找文件名为ll.txt的文件并强制删除
  • 1
  • 2
  • 3
  • 4

find 搜索路径 [选项] 搜索内容 -ok 命令2{} ;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/912018
推荐阅读
相关标签
  

闽ICP备14008679号