linux2-基础命令

1.命令的基本格式

1)命令提示符

[root@localhost ~]# 
[]:这是提示符的分隔符号,没有特殊含义。
root:显示的是当前的登录用户。
@:分隔符号,没有特殊含义。love2:当前系统的主机名(默认主机名是 localhost.localdomain,我已经修改了)。
~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
#:命令提示符。超级用户是#; 普通用户是$

2)命令的基本格式

[root@localhost  ~]# 
命令 [选项] [参数] 
ls 是最常见的目录操作命令,主要作用是显示目录下的内容。
命令名称:ls。
英文原意:list。 
所在路径:/bin/ls。
执行权限:所有用户。
功能描述:显示目录下的内容

2.常用命令

1)目录操作命令

绝对路径与相对路径的区别

绝对路径: 以根目录开始的路径(如touch /home/1.txt)

相对路径: 以当前路径为参照的路径(1.  pwd /home   2.touch ./1.txt)//这里的点代表的就是home路径

# 绝对路径
~]# cd /mnt/   
​
# 相对路径
mnt]# ls
a  b  c
mnt]# cd a/

 

 .表示当前目录

..表示上一级目录

ls 命令

~]#ls [选项] [文件名或目录名] 
选项:  
-a:    显示所有文件,包括隐藏文件;隐藏文件是告诉用户该文件为重要文件,一般木马与病毒文件也是隐藏文件 
-d:    显示目录信息,而不是目录下的文件  
-h:    人性化显示,按照我们习惯的单位显示文件大小  
-i:    显示文件的i节点号  
-l:    长格式显示 
-R:递归查看
--color=when: 支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动) 
~]# ls -l 
total 4
drwxr-xr-x 3 root root  4096 Sep  3  2020 ansible
lrwxrwxrwx 1 root root    13 Apr 20  2020 rc.local -> rc.d/rc.local
#第一列:权限。具体权限以后再说明。
#第二列:引用计数。文件的引用计数代表该文件的硬链接个数,而目录的引用计数代表该目录 有多少个一级子目录。
#第三列:所有者,也就是这个文件属于哪个用户。默认所有者是文件的建立用户。
#第四列:所属组。默认所属组是文件建立用户的有效组,一般情况下就是建立用户的所在组。
#第五列:大小。默认单位是字节。
#第六列:文件修改时间。文件状态修改时间或文件数据修改时间都会更改这个时间,注意这个 时间不是文件的创建时间。
#第七列:文件名。

 cd 命令

cd 是切换所在目录的命令 命令名称:cd 英文原意:change directory 所在路径:Shell 内置命令 执行权限:所有用户。 功能描述:切换所在目录

注:cd 直接回root家目录

特殊符号作用
..表示上一层目录
.表示当前目录
~表示家目录
-表示上一次所在目录

pwd 命令

pwd 命令是查询所在目录的命令 命令名称:pwd 英文原意:print name of current/working directory 所在路径:/bin/pwd 执行权限:所有用户。 功能描述:查询所在的工作目录

mkdir 命令

mkdir 是创建目录的命令, 命令名称:mkdir。 英文原意:make directories。 所在路径:/bin/mkdir。 执行权限:所有用户。 功能描述:创建空目录。

选项:-p :递归建立所需目录,连同父目录一并创建

注:同一级目录下绝对不能同时存在同名目录

[root@love2 ~]# mkdir [选项] 目录名 选项  

rmdir 命令

删除目录的命令 rmdir 命令名称:rmdir 英文原意:remove empty directories 所在路径:/bin/rmdir 执行权限:所有用户 功能描述:删除空目录

-p: 递归删除目录

注:rmdir 命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。

~]# rmdir [选项] 目录名 选项

起初根下面的home文件夹是有a1文件夹的,

执行命令后,发现只有aaa文件夹了

 

2)文件操作命令

touch 命令

创建空文件或修改文件时间;也就是已经存在的文件会修改时间 命令名称:touch 英文原意:change file timestamps 所在路径:/bin/touch 执行权限:所有用户 功能描述:创建文件或修改文件的时间戳

注:同级目录下同名文件不可同时存在,但命令可以重复打;也可以同时创建多个文件

~]# touch [参数] [参数] [参数]

 

stat 命令

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间 命令名称:stat。 英文原意:display file or file system status 所在路径:/usr/bin/stat 执行权限:所有用户。 功能描述:显示文件或文件系统的详细信息

~]# stat nginx.tar.gz 
文件: ‘nginx.tar.gz’
大小: 3229419   	块: 6312      io快: 4096   常规文件
设备: fd11h/64785d	Inode: 275281678   Links: 1
权限: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
环境:.....
Access: 2021-11-26 16:50:02.815109997 +0800    #最近访问时间
Modify: 2021-11-26 10:33:48.785156265 +0800    #最近更改时间,指的是内部数据修改
Change: 2021-11-26 16:03:51.250354201 +0800    #状态修改时间,指其权限等等
Birth: -   #创建时间;一般linux是不记录创建时间的

cat 命令

cat 命令用来查看文件内容。 命令名称:cat 英文原意:concatenate files and print on the standard output 所在路径:/bin/cat 执行权限:所有用户。

注:cat不适合看大文件

~]# cat [选项] 文件名 选项:  
-n: 显示行号 
-A: 相当于-vET选项的整合,用于列出所有隐藏符号  
-E: 列出每行结尾的回车符$  
-T: 把Tab键用^I显示出来  
-v: 列出特殊字符

more 命令

more 是分屏显示文件的命令 命令名称:more 英文原意:file perusal filter for crt viewin 所在路径:/bin/more 执行权限:所有用户 功能描述:分屏显示文件内容。 more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下: 空格键:向下翻页 b:向上翻页 回车键:向下滚动一行 /字符串:搜索指定的字符串 q:退出。

head 命令

head 是用来显示文件开头的命令

命令名称:head 英文原意:output the first part of files 所在路径:/usr/bin/head 执行权限:所有用户 功能描述:显示文件开头的内容

注:不打行数默认10行。

~]# head [选项] 文件名
-n 行数: 从文件头开始,显示指定行数  
-v:   显示文件名 
 
# 查看开头四行
~]# head -n 5 ansible.cfg 
# config file for ansible -- http://ansible.com/
# ==============================================
 
# This config file provides examples for running
# the OpenShift playbooks with the provided
 
# 选项不打也行
~]# head -5 ansible.cfg 
# config file for ansible -- http://ansible.com/
# ==============================================
 
# This config file provides examples for running
# the OpenShift playbooks with the provided

tail 命令

显示文件结尾的命令。 命令名称:tail。 英文原意:output the last part of files 所在路径:/usr/bin/tail。 执行权限:所有用户 功能描述:显示文件结尾的内容。

注:不打行数,默认10行

~]# tail [选项] 文件名 
选项:  
-n 行数: 从文件结尾开始,显示指定行数  
-f:  监听文件新增内容。
 
# 查看结尾四行
~]# tail -n 4 ansible.cfg 
fact_caching_connection = $HOME/ansible/facts
fact_caching_timeout = 600
callback_whitelist = profile_tasks
StrictHostKeyChecking = no
 
# 选项不打也行
~]# tail -4 ansible.cfg 
fact_caching_connection = $HOME/ansible/facts
fact_caching_timeout = 600
callback_whitelist = profile_tasks
StrictHostKeyChecking = no

ln 命令

命令名称:ln 英文原意:make links between file. 所在路径:/bin/ln 执行权限:所有用户 功能描述:在文件之间建立链接

1 )基本使用

~]# ln [选项] 源文件 目标文件 
选项:  
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件  
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件 

2) 软连接

~]# ln -s edu.txt /tmp/
软链接特征:
#软链接和源文件拥有不同的 Inode 和 Block
#两个文件修改任意一个,另一个都改变 
#删除软链接,源文件不受影响;删除源文件,软链接不能使用
#软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
#软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文件权限
#软链接可以链接目录 
#软链接可以跨分区
#软链接特征明显,建议使用软连接
#软连接一定要写绝对路径

3)硬链接

~]# ln edu.txt /tmp/ (不写名字,和原文件名一致)
#也就是 /root/edu.txt 和 /tmp/edu.txt 是硬链接文件
#硬链接特征:
#源文件和硬链接文件拥有相同的 Inode 和 Block
#修改任意一个文件,另一个都改变
#删除任意一个文件,另一个都能使用
#硬链接不能链接目录
#硬链接不能跨分区 
#硬链接标记不清,很难确认硬链接文件位置,不建议使用 

3)目录和文件都能操作的命令

rm 命令

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录 命令名称:rm 英文原意:remove files or directories 所在路径:/bin/rm 执行权限:所有用户 功能描述:删除文件或目录

rm -rf

* 代表着任意,如任意删除文件夹下的文件

~]# rm [选项] 文件或目录 
选项:  -f:  强制删除(force)  
-i:  交互删除,在删除之前会询问用户  
-r:  递归删除,可以删除目录(recursive)

cp 命令

cp 是用于复制的命令 命令名称:cp。 英文原意:copy files and directories 所在路径:/bin/cp。 执行权限:所有用户 功能描述:复制文件和目录

~]# cp [选项] 源文件 目标文件 
选项:  
-a:  相当于-dpr选项的集合
-d:  如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接  
-i:  询问,如果目标文件已经存在,则会询问是否覆盖  
-p:  复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)  
-r:  递归复制,用于复制目录 

mv 命令

mv 是用来剪切的命令 命令名称:mv 英文原意:move (rename) files 所在路径:/bin/mv 执行权限:所有用户。 功能描述:移动文件或改名。mv支持原地改名(尽量不使用删除)

~]# mv [选项] 源文件 目标文件 
选项:  
-f:  强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖  
-i:  交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)  
-v:  显示详细信息 

clear命令

清除屏幕命令(或者ctrl + l 清理屏幕)

grep命令(后面会与find命令作比较)

grep 的作用是在文件中提取和匹配符合条件的字符串行,支持正则匹配。(模糊搜索)

~]# grep [选项] "搜索内容" 文件名 
选项:  
-i:    忽略大小写 
-n:    输出行号 
-v:    反向查找  
--color=auto: 搜索出的关键字用颜色显示 

find与grep的区别

find 命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符 是完全匹配(find 命令可以通过-regex 选项,把匹配规则转为正则表达式规则,但是不建议如此)

grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配, 正则表达式是包含匹配。


通配符:用于匹配文件名,完全匹配

通配符作用
?匹配一个任意字符
*匹配 0 个或任意多个任意字符,也就是可以匹配任何内容
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c
[-]匹配范围内一个任意字符例如,-代表一个范围[1-9],匹配1-9中的任意一个字符;英文必须大写的在前面[A-z];
[^]表示匹配不是中括号内的一个字符。例如,[ ^0-9]代表匹配一个不是数字的字符
{}多组不同的字符串,全匹配{a,min,xy}

正则表达试:用于匹配字符串,包含匹配

?匹配前一个字符重复 0 次,或 1 次(?是扩展正则,需要使用 egrep 命令)
*匹配前一个字符重复 0 次,或任意多次
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c
[-]匹配范围内一个任意字符例如,[1-9],匹配1-9中的任意一个字符
[^]表示匹配不是中括号内的一个字符。例如,0-9代表匹配一个不是数字的字符
^匹配行首
$匹配行尾

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值