Linux经常使用命令(一)基本格式、文件处理和文件搜索命令、连接

clipboard.png

1、命令基本格式

1.1 起始符/命令提示符

[root@localhost ~]#node

root 当前登陆用户
localhost 主机名
~ 当前所在目录(家目录)
# 超级用户的提示符
$ 普通用户提示符

1.2 命令格式

命令 [选项] [参数]

注意:linux

  1. 个别命令使用不遵循此格式。
  2. 当有多个选项时,能够写在一块儿。
  3. 简化选项与完整选项。如:-a 等于 -all

1.3 ls

  • ls -a 显示全部文件,包括隐藏文件
  • ls -l 显示详细信息
  • ls -d 查看目录属性
  • ls -h 人性化显示文件大小,K/M
  • ls -i 显示inode

1.4 文件权限(10位

第一位为文件类型,后面每3位一组

-rw-r--r--shell

  • -文件类型(-文件 d目录 l软连接(硬连接不会显示l))
  • rw- u全部者
  • r-- g所属组
  • r-- o其余人
  • r w x执行
-rw-r--r--. 1 root root 1207
.表明ACL权限 1应用计数
在linux中“.”开头的文件是隐藏文件。

2、文件处理命令

linux中一切皆文件。目录为目录文件。普通文件用来保存数据,目录文件用来保存文件数据库

2.1 经常使用目录介绍及做用

linux 是个严谨的操做系统,一级目录都严格规定.segmentfault

作练习推荐在家目录中(root或home),以及tmp。

一、 / 根目录
二、 /sbin/bin 命令保存目录spa

clipboard.png

根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令。
其中, bin目录下的命令任何用户均可以执行, sbin目录下只有 root才能够执行。linux使用此方式来区分用户权限。

三、/boot 启动目录,启动相关文件操作系统

四、/dev 设备文件保存目录.net

五、/etc 配置文件保存目录code

六、/home 普通用户的家目录视频

七、/lib 系统库保存目录

操做系统中并无把全部功能都写入linux中,而将经常使用的功能写成一个个程序库,此些库保存在lib中,当须要时调用便可。避免所有写入linux内核中,使其无比庞大且运行缓慢。

八、/mnt 系统挂载U盘、移动硬盘目录

九、/media 挂载光盘目录

十、/misc 外接磁带机挂载目录

十一、/root 超级用户的家目录

十二、/tmp 临时目录

可存放临时数据

1三、/proc 直接写入内存的

该目录同sys目录不能直接操做,这两个目录保存的是内存的挂载点。其中的数据直接写在内存中。避免数据丢失或因为内存溢出致使系统崩溃。

1四、/sys

1五、/usr 系统软件资源目录

  • /usr/bin/ 系统命令(普通用户)
  • /usr/sbin/ 系统命令(超级用户)

1六、/var 系统相关文档内容

2.2 目录处理命令

clipboard.png

清屏:Ctrl+L

clipboard.png

cd空格..

一、路径

2-1)相对路径:参照当前所在目录,进行查找
2-2)绝对路径:从根目录开始制定,一级一级递归,进行查找

二、pwd :查询所在目录位置(print working directory

2.3 文件处理命令

clipboard.png

注:只能删除空目录

clipboard.png

二、删除文件或目录
2-1)rm -rf [文件或目录] (remove r:directoreis f:force强制)

2-1-1)选项 -r :删除目录
2-1-2)选项 -f :强制
2-1-3)rm [文件名] :提示是否删除
2-1-4)rm -r [目录] :删除目录需加 -r ,目录中含有子文件,将持续询问是否删除
2-1-5)rm -rf [目录] :删除目录, 不会询问是否删除而直接进行
2-1-6)纯字符界面没有回收站。

注意自杀指令:rm -rf /

2-2)rm -rf /tmp/* :删除tmp目录下的内容
2-3)rm -rf /tmp/ :删除tmp目录

建议:

删除文件或目录习惯使用命令 rm -rf [文件或目录]

clipboard.png
三、复制命令
3-1)cp [选项] [原文件或目录] [目标目录] (copy)

3-1-1)选项 -r :复制目录
3-1-2)选项 -p :连带文件属性复制
3-1-3)选项 -d :若原文件是连接文件,则复制连接属性
3-1-4)选项 -a :至关于 -pdr 全选

3-2)例子

3-2-1)cp abc /tmp/ 若目标目录不加文件名,则为原名复制
3-2-2)cp abc /tmp/ana 若目标目录后加入文件名,则为更名复制
3-2-3)cp -r japan/ /tmp/ 复制目录
3-2-4)cp -a japan/ /tmp/ 彻底复制,包括全部属性

3-3)被复制文件的时间为执行复制命令的时间若要使被复制的文件与原文件属性彻底一致,需加 -a

clipboard.png

四、剪切或更名命令

mv [原文件或目录] [目标目录] ( move
  • mv japan/ /tmp/ 剪切目录时不需加 -r
  • mv abc longls 当原文件与目标目录,在同一目录下,则为更名命令

五、当前系统时间命令:date

六、ls -l 命令别名 :ll

2.4 连接命令

2.4.1 格式化硬盘

分两步:

  1. 将分区划分等大小的block数据块,该数据块一般为4KB
  2. 创建分区表,并为每一个文件创建一个相关数据。
当用户搜索某个文件时,会先到分区表中查找文件所对应的 block存储位置,接着到相应位置取出,并返回给用户。

生成连接文件命令:ln -s [原文件] [目标文件] (link)

选项 -s 建立软连接

2.4.2 硬连接特征

拥有相同的i节点和存储block块,能够看作是同一个文件硬连接与原文件拥有相同的i节点。所以,与原文件很是类似。当删除原文件或硬连接文件的任何一文件,不影响文件索引操做。可看作,同一个文件的不通进入点。它是一样的存储空间。

1)可经过i节点识别
2)不能跨分区创建
3)不能针对目录使用,只有文件才能够建立
4)ln ./source/abc ./target/bcd.hard  建立后,引用计数+1
5)ls -i ./source/abc ./target/bcd.hard 可以使用ls -i 来查看文件i节点号

不建议建立硬连接文件

  • 文件太过隐蔽,除了有i节点这样一个标识以外,很难区分它是否是硬连接
  • 硬连接限制较多,不能跨分区,不能针对目录,使用当中容易出现错误使用方法

2.4.3 软连接特征

1)相似于Windows快捷方式
2)软连接拥有本身的i节点和block块,可是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。(拥有本身的分区表中索引数据,经过索引找到分区表中文件的目标索引数据,再经过目标索引数据,查找数据)
3)lrwxrwxrwx l软连接, 软连接文件权限都为rwxrwxrwx, 虽然权限显示为777,但实际权限须要看原文件权限。
4)修改任意文件,另外一个都改变
5)删除原文件,软连接不能使用
6)建立软连接,原文件必定要写绝对路径(硬连接没有这个要求)。不然,软连接会到它所在的同一目录去找原文件。

2.4.4 硬连接与软连接关系图

clipboard.png

原图地址:硬连接与软连接图

软链接与硬连接的区别

3、文件搜索命令

3.1 locate

命令:locate 文件名

搜索速度快但只能按照 文件名搜索

locate命令搜索的后台数据库为/var/lib/mlocate(不一样版本数据库名字可能不一样;默认一天更新一次)
updatedb 更新数据库

/etc/updatedb.conf配置文件

PRUNE_BIND_MOUNTS="yes"
\#开启搜索限制
PRUNEFS=
\#搜索时,不搜索的文件系统
PRUNENAMES=
\#搜索时,不搜索的文件类型
PRUNEPATHS=
搜索时,不搜索的路径

总结:locate:只能按文件名搜索,而不能更复杂的搜索

3.2 whereis 、 which 、whoami 和 whatis

3.2.1 whereis

特色:用于搜索命令所在的路径以及帮助文档所在的位置,不能搜索本身凭空建立的普通文件
选项:

-b:只查找可执行文件
 -m:只查找帮助文件

3.2.2 which

特色:能看到命令的路径,若是有别名,还能看到别名的说明

注意:whereis和which不能看到shell命令如cd(shell自带的),只能看到外部安装的命令如pwd

3.2.3 $PATH说明

相似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。
因此像ls这样的命令就能够不用加路径(/bin/ls)执行了。

3.2.4 whoami

显示当前用户名称

clipboard.png

3.2.5 whatis

查询一个命令执行什么功能,并将查询结果打印到终端上。
[root@localhost ~]# whatis ls 
ls (1) - list directory contents 
ls (1p) - list directory contents

3.3 find命令

3.3.1 彻底匹配(默认)

格式: find [搜索范围] [搜索条件]

例:find /home -name 文件名;

注意:

  1. find搜索默认是彻底匹配
  2. 避免大范围的搜索,会很是浪费系统资源,建议不在直接在“/”目录下搜索

find /root -iname test 不区分要搜索的test大小写格式
find /root -user root 搜索root目录下的全部属于root用户的文件
find /root -nouser 没有所属者的文件,liunx中,每一个文件都有所属者,若是没有,那么通常都是垃圾文件,但仍是有特例的,好比内核产生的文件,就没有所属者,通常在proc和sys目录下;还有外来文件,也就是U盘拷入的文件也会忽略全部者。

3.3.2 模糊查询

须要添加通配符,通配符有如下3

  1. "*"匹配任意字符,例:find /home -name "*test*",显示全部名字带test的文件;或例:find /home -name "*"home目录下的全部文件,包括隐藏文件。
  2. "?"匹配任意一个字符。
  3. "[]"匹配任意一个中括号内的字符,例:find /home -name "test[12]",显示test1和test2文件;或find /home -name "[12]*",显示以1或2开头的文件。
    组合使用:例:find /home -name "*[12]",显示全部1或2结尾的文件

3.3.3 find 按文件时间来搜索

  1. find /home -mtime +10 在home目录下,查找10天前修改的文件
  2. find /home -mtime 10 在home目录下,查找10天前当天修改的文件
  3. find /home -mtime -10 在home目录下,查找10天内修改的文件
atime 文件访问时间 ctime 改变文件属性 mtime 修改文件内容

3.3.4 find 目录 -size 文件大小

注意:文件大小,小写k和大写M

clipboard.png

固定格式:-exec {} \\ ,表示直接对前面的搜索结果进行后面的命令处理。

3.4 grep命令

grep [选项] 字符串 文件名 (字符串使用 "" 包围,结果为行记录)

-i 忽略大小写
-v 排除指定字符串

find 命令与 grep 命令的区别:

clipboard.png

参考课程视频:Linux达人养成计划 I

下一篇

Linux经常使用命令(二)帮助命令、压缩与解压缩、关机和重启、挂载和登陆信息查看命令

相关文章
相关标签/搜索