Linux学习(2)——基本命令
目录
1、pwd(print? work? directory): 显示当前路径
ls? ?-l? ? ? //已长格式显示文件和目录列表 ll=ls? -l
ls? ?-A? ? //显示全部文件或隐藏文件,但不包括 . 和..
ls? ?-d? ? //仅列出目录本身,而不是列出目录内的文件数据
ls? ?-R? ? //递归显示该目录及该目录的子目录下的所有内容
ls? ?-h? ? ?//友好显示文件大小(human,人性化)
7、mkdir(make directories) 创建目录
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
长格式显示(显示文件属性)
?以第一条命令为例
d | rwxr-xr-x. | 3 | root | root | 101 | 12月 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 后面跟的文件已经存在
每个文件有三个时间戳:
-
access time 访问时间,atime,读取文件内容,即最近打开文件的时间,如果你不打卡文件是不会刷新的。
-
modify time 修改时间,mtime,改变文件内容(数据)
-
change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )
stat? 文件名? ?//可以查看三种时间名,也可以查看文件的一些属性,比如inode号
9、?ln? ? ? ?硬连接与软连接文件
- 硬连接 同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个连接数加一,多路径访问。
- ln? ?绝对路径源文件? ?硬连接位置
- 注意:
- --不能跨分区建立连接
- --无法对文件夹创建?
- --删除硬链接可以继续访问硬链接。
- 软连接 类似于windows里快捷方式,软连接,符号连接,会指向原来的文件
- ?ln? ? -s? ? 绝对路径的源文件? ?软连接位置
- 注意:
- --删除源文件无法访问,再新建同名文件后依然可以访问
- --可以跨设备
- --可以支持文件夹
10、cp(copy)复制
cp [选项]… 源文件 目标
相当改名复制 文件夹 文件相当于 改名字另存为
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包
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!