Linux学习(2)——基本命令

发布时间:2023年12月21日

目录

1、pwd(print? work? directory): 显示当前路径

2、cd(change? directory)?:切换目录

2.1路径的分类

2.1.1???绝对路径:以 根(/)?开头的路径

2.1.2? ?相对路径:不是以 根(/)?开头的路径

3、ls(list):列出指定目录下的所有文件

?3.1? ?颜色表示的文件类型

3.2? ?文件类型

3.3具体应用

ls? ?-l? ? ? //已长格式显示文件和目录列表 ll=ls? -l

ls? ?-a? ? ?//显示全部包括隐藏文件

ls? ?-A? ? //显示全部文件或隐藏文件,但不包括 . 和..

ls? ?-d? ? //仅列出目录本身,而不是列出目录内的文件数据

ls? ?-R? ? //递归显示该目录及该目录的子目录下的所有内容

ls? ?-h? ? ?//友好显示文件大小(human,人性化)

ls? ?-t? ? ? //已时间顺序显示

ls? ?-r? ? ? //倒序显示

ls? ?-color? ? //显示颜色

ls? ?-S? ? ? ?//以文件容量大小排序

4、通配符

5、alias? 取别名

6、du(disk usage)

7、mkdir(make directories) 创建目录

8、touch 创建新文件

9、?ln? ? ? ?硬连接与软连接文件

10、cp(copy)复制

11、mv (移动/改名)

12、rm? ?删除文件

13、shred? 完全删除并添0

14、which? 查找命令

15、find? 查找文件

15.1按层次查找

15.2对每个目录先处理目录内的文件,再处理目录本身

15.3根据文件名和inode查找

15.4根据属主、属组查找

15.5根据文件类型

15.6空文件或目录

15.7组合条件

15.8根据文件大小来查找

15.9 根据时间戳

15.10处理动作

16、locate? 快速查找陈年旧文件


1、pwd(print? work? directory): 显示当前路径

[root@localhost ~]# pwd      
#显示当前路径
 
[root@localhost bin]# pwd -P
/usr/bin
#-P 显示真实路径

2、cd(change? directory)?:切换目录

[root@localhost ~]# cd /etc/
[root@localhost etc]# 
 
[root@localhost ~]# cd  
[root@localhost ~]# 
 
[root@localhost ~]# cd  ~
[root@localhost ~]# 
命令效果

cd

cd? ~

若不指定目标位置,切换到当前用户的家目录
cd? -返回上一次的目录,但只能返回一次
一个点号“.”开头(自己)表示以当前的工作目录作为起点(已点开头的是)
两个点号“..”开头(上一级)表示以当前目录的上一级目录(父目录)作为起点
cd? ?/etc进入根目录下面的etc文件夹

?

2.1路径的分类

?路径分为绝对路径和相对路径

2.1.1???绝对路径:以 根(/)?开头的路径

/ 写在路径开头,代表根文件夹

/ 不在路径开头,代表分隔符

2.1.2? ?相对路径:不是以 根(/)?开头的路径

表现形式说明示例
直接使用目录名或文件名表示当前工作目录中的子目录、文件的位置
?
grub.conf
以一个点号“ . ”开头表示以当前的工作目录作为起点./grub.conf
以两个点号“? ..? ”开头表示以当前目录的上一级目录 (父目录)作为起点. . /vmlinuz
以“~用户名”形式开头表示以指定用户的宿主目录作为起点~teacher

3、ls(list):列出指定目录下的所有文件

ls  [选项]  [文件或目录...]
  • -l 以长格式显示文件和目录列表 ll=ls -l

  • -a 显示全部包括隐藏文件

  • -A 显示全部文件或隐藏文件,但不包括 . 和..

  • -d 仅列出目录本身,而不是列出目录内的文件数据

  • -h 友好显示文件大小(human,人性化)

  • -R 递归显示该目录及该目录的子目录下的所有内容

  • -t 已时间顺序显示

  • -r 倒序显示

  • --color 显示颜色

  • -S 以文件容量大小排序

?3.1? ?颜色表示的文件类型

  • 黑色数据文件 普通文件

  • 绿色 可执行文件

  • 黄色 块设备文件硬件设备(硬盘)

  • 红色 压缩包

  • 蓝色 文件夹

  • 天蓝色 连接文件(快捷方式)

3.2? ?文件类型

字符文件类型
-普通文件,包括纯文本文件、二进制文件、各种压缩文件等。
d目录,类似 Windows 系统中的文件夹。
b块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
c字符设备文件
s套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。
p管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。
l链接文件,类似 Windows 系统中的快捷方式。

3.3具体应用

ls? ?-l? ? ? //已长格式显示文件和目录列表 ll=ls? -l

#ls -l
长格式显示(显示文件属性)

?以第一条命令为例

drwxr-xr-x.3rootroot10112月 18 20:00?abrt
文件的属性权限硬连接个数该文件的主人属组文件大小文件时间文件名

ls? ?-a? ? ?//显示全部包括隐藏文件

#ls -a
显示全部包括隐藏文件

ls? ?-A? ? //显示全部文件或隐藏文件,但不包括 . 和..

ls? ?-d? ? //仅列出目录本身,而不是列出目录内的文件数据

ls? ?-R? ? //递归显示该目录及该目录的子目录下的所有内容

ls? ?-h? ? ?//友好显示文件大小(human,人性化)

ls? ?-t? ? ? //已时间顺序显示

ls? ?-r? ? ? //倒序显示

ls? ?-color? ? //显示颜色

ls? ?-S? ? ? ?//以文件容量大小排序

4、通配符

通配符:有些符合不表示原来的意思,它代表了一类字符。

通配符的作用:匹配文件的名字

注意:正则表达式的作用:匹配文章里面的内容

符号效果
匹配一个字符 f?.txt
*匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10}1到10

{a..z}a b c ...z
{A..Z}A B C .....Z
[123]([此处括号里值代表一个字符])取其中之一有就显示没有也无所谓
[a-z]单个小写字母范围需要注意,aAbB...
[0-9]单个数字匹配数字范围(0123456789)
\转义符,表示原来的意思
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z
[^zhou]匹配列表中的所有字符以外的字符
[[:digit:]]任意数字,相当于0-9
[[:alpha:]]任意字母

5、alias? 取别名

临时修改

  • alias 命令别名=’命令‘

--因为我们运行修改ip地址的指令很长,所以我们可以给他取一个别名myvim

--alias可以查看到我们刚刚取的别名??

  • unalias 别名命令 删除别名

  • \加别名命令 (显示原始命令)---转义符作用其中

--我们查看alias查看别名的时候发现,ls=‘ls? --color=auto’,所以我们在查看当前目录的时候,文件夹有颜色。\ls可以显示原始命令。此时就不会显示颜色了。

?补充:命令运行过程

绝对路径>别名>内部>hash>外部命令(先查找别名再查找内部命令,缓存,最后外部)

6、du(disk usage)

查看当前所在文件夹占用了磁盘的多少单元块。默认1单元块为4K, 不满4K 按4k算。

通用格式

du? ?[选项]? ?[文件或者目录]

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s(--summarize)只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
--max-depth=n (-d 1)最大显示到第n层
--exclude不计入统计

注意:a和s不能同时使用

du -a

du -s

du -sh

最大显示到当前文件夹下的第二层

du -d 2

不统计以.txt为结尾的文件

du -a --exclude=*.txt

7、mkdir(make directories) 创建目录

mkdir [选项] 目录位置及名称…

①可以同时创建多个文件夹,用空格隔开

②mkdir -p 递归创建 没有文件夹 会自动递归创建

③mkdir -pv?一次建立多个文件

8、touch 创建新文件

作用:

1、新建空文件

touch后面跟的文件名不存在

2、刷新文件时间

touch 后面跟的文件已经存在

每个文件有三个时间戳:

  1. access time 访问时间,atime,读取文件内容,即最近打开文件的时间,如果你不打卡文件是不会刷新的。

  2. modify time 修改时间,mtime,改变文件内容(数据)

  3. change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )

stat? 文件名? ?//可以查看三种时间名,也可以查看文件的一些属性,比如inode号

9、?ln? ? ? ?硬连接与软连接文件

  • 硬连接 同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个连接数加一,多路径访问。
  • ln? ?绝对路径源文件? ?硬连接位置
  • 注意:
  • --不能跨分区建立连接
  • --无法对文件夹创建?
  • --删除硬链接可以继续访问硬链接。

  • 软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件
  • ?ln? ? -s? ? 绝对路径的源文件? ?软连接位置
  • 注意:
  • --删除源文件无法访问,再新建同名文件后依然可以访问
  • --可以跨设备
  • --可以支持文件夹

10、cp(copy)复制

  1. cp [选项]… 源文件 目标

  • 相当改名复制 文件夹 文件相当于 改名字另存为

  1. cp [选项]... 源文件... 文件夹

  • 多个源文件只能复制到文件夹

11、mv (移动/改名)

mv [选项] … 源文件或目录… 目标文件或目录 单个文件

  • 改名件和目标文件路径位置一样,就是改名
  • 源文件和目标文件路径位置不一样,就是移动,也可以是移动并改名

选项

  • -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;

  • -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);

  • -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;

  • -v:显示文件或目录的移动过程;

12、rm? ?删除文件

格式:
rm? [选项]? 要删除的文件或目录

选项:

  • -f、强制

  • -i、交互

  • -r 递归(删除目录需要)

13、shred? 完全删除并添0

  • -z? 最后一次覆盖添加0,以隐藏覆盖操作
  • -v? ?能够显示操作进度
  • -u? ?覆盖后截断并删除文件
  • -n? ? 指定覆盖文件内容的次数(默认值是3次)

14、which? 查找命令

which ls
#查找ls命令的具体位置

15、find? 查找文件

格式:

find?? 范围??? 查找的条件?? 处理动作

特点:

精确查找、实时查找、支持查找条件巨多,相对locate来说,速度慢

15.1按层次查找

-maxdepth level 最大搜索目录深度,指定目录下的文件为第1级
-mindepth level 最小搜索目录深度

15.2对每个目录先处理目录内的文件,再处理目录本身

-depth?

15.3根据文件名和inode查找

-name "文件名称"

#支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来
-inum n

#按inode号查找


了解
-iname "文件名称" ?#不区分字母大小写
-samefile name #相同inode号的文件
-links n ??#链接数为n的文件

15.4根据属主、属组查找

-user USERNAME #查找属主为指定用户(UID)的文件
-group GRPNAME #查找属组为指定组(GID)的文件
-uid UserID #查找属主为指定的UID号的文件
-gid GroupID #查找属组为指定的GID号的文件
-nouser #查找没有属主的文件 ? ?无主
-nogroup #查找没有属组的文件

15.5根据文件类型

-type TYPE
TYPE可以是以下形式:
f: 普通文件
d: 目录文件
l: 符号链接文件
s:套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件

15.6空文件或目录

-empty

15.7组合条件

与:-a ,默认多个条件是与关系 ? -a ?可以省略
或:-o
非:-not ??!

15.8根据文件大小来查找

-size [+|-]#UNIT #常用单位:k, M, G,c(byte),注意大小写敏感
#UNIT: #表示(#-1, #],如:6k 表示(5k,6k]
-#UNIT #表示[0,#-1],如:-6k 表示[0,5k]
+#UNIT #表示(#,∞),如:+6k 表示(6k,∞)

15.9 根据时间戳

#以“天”为单位
-atime [+|-]#?
# #表示[#,#+1) ? ?如#是3 ? 3 到 4天
+# #表示[#+1,∞] ? 如#是3 ?代表 4天以上 ? ? ??

-# #表示[0,#) ? ?如#是3 ?3天以内
-mtime
-ctime
-atime
#以“分钟”为单位
-amin
-mmin
-cmin
?


15.10处理动作

-print:默认的处理动作,显示至屏幕
-ls:类似于对查找到的文件执行"ls -dils"命令格式输出
-fls file:查找到的所有文件的长格式信息保存至指定文件中,相当于 -ls > file
-delete:删除查找到的文件,慎用!
-ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身

16、locate? 快速查找陈年旧文件

  • locate 查询系统上预建的文件索引数据库/ar/lib/mlocate/mlocate.db
  • 索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库
  • 索引构建过程需要遍历整个根文件系统,很消耗资源
  • locate和updatedb命令来自于mlocate包

文章来源:https://blog.csdn.net/weixin_58376680/article/details/135091417
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。