Linux笔记 Chapter 2

PREV 1.x Linux初步与环境安装 | NEXT 3.x vi/vim文本编辑器

2.1 文件处理命令

ls

ls 选项 [-al] [文件或目录]
a:显示所有文件,包括隐藏文件
l:显示详细信息
  • 权限:所有用户(此后如不显示,则为所有用户)
  • 描述:显示文件目录

touch

touch [文件名]:创建一个空文件

mkdir

mkdir [-p选项表示递归创建文件夹] [文件夹名称]:创建一个文件夹

cp

cp [源文件] [目标文件]
cp -r [源目录] [目标目录]
  • 描述:复制文件或目录

rm

rm -f [文件] 
rm -r [目录]
rm -rf [目录,包含目录下内容]
  • 描述:删除文件或目录

cat

cat [文件名称]:查看文件内容(内如过多,显示内容可能不全)

more

more [文件名称]:查看文件内容,可完全显示。用法:使用空格进行翻页,回车显示下一行,q退出(或者ctrl+c)

tail

tail -number [文件名]:查看文件的后多少行

mv

  • mv [源文件名称] [新文件名称]:修改文件名称
  • mv [源文件名称] [新文件位置+ 新文件名称]:移动文件位置

ln

ln -s [源文件] [目标文件](硬链接则不需要-s选项):创建软链接文件

  • 软链接特点:权限是所有人都可以访问,并且软链接文件指向源文件。软链接就像Windows系统中的快捷方式一样,特点也都类似。
  • 硬链接:类似copy,硬链接大小和源文件一样,并且是同步更新的。
  • 另外:硬链接不能跨文件系统分区,而软链接可以。

2.2 权限处理命令

chmod

chmod [{ugo}{+-=}{rwx}] [文件或目录]
chmod [mode=421] [文件目录]

改变文件或目录的权限,形如:chmod g+w filenamechmod 761 filename

文件的rwx权限:

  • r:可以执行catch、more等读操作
  • w:修改文件的内容等写操作,但是不代表可以把这个文件删除
  • x:对文件进行执行操作

目录的rwx权限:

  • r:可读操作,可以列出目录的内容,比如ls命令
  • w:表示可以在目录下创建或删除文件的权限
  • x:表示可以进入这个目录(基本上所以的目录都会有rx权限)

所以,删除文件的权限,是拥有当前文件所在的目录的写权限。

文件目录权限总结

代表字符 权限 对文件的含义 对目录的含义
r 读权限 可查看文件内容 可列出目录中的内容
w 写权限 可修改文件内容 可在目录中创建、删除文件
x 执行权限 可执行文件 可进入目录

chown

chown user 文件:改变文件的所有者。示例:chown tc110 out.log

  • useradd username:添加用户
  • passwd username:为用户设置密码

chgrp

chgrp group 文件:改变文件的所属组。示例:chgrp adm t1.sh

  • 查看系统默认的权限:umask -S(umask查看权限掩码值022 使用777-022得到真实权限)

2.3 文件搜索命令

find

find [搜索范围路径] -name 【文件名称】(根据文件名查找)
find [搜索范围路径] -size [(+-)文件大小](根据文件大小查找,大于+ 小于-)
find [搜索范围路径] -user(文件的所有者)
find [时间查找] [以天为单位]
	[以天为单位] 1 ctime、atime、mtime 
	[以分钟为单位] 2 cmin、amin、mmin

查找任何文件或目录(所有)。find命令示例:

  • find [搜索范围路径] -namefind /etc -name init
  • 匹配任意字符 *find /etc -name *init
  • 匹配指定字符 find /etc -name ?init

find [搜索范围路径] -size [+-文件大小](根据文件大小查找,大于+小于-)

  • 注意,对于文件的大小是以数据块为单位。数据块大小是512bit
  • 形如:如需查找100M的文件,那么就要知道100M为多少block?
100M = ? block
1M = 1024K
100M = 102400K
1K = 2 block
100M = 2*102400 block

find [搜索范围路径] -user(文件的所有者):查找隶属于某个用户的文件

  • find /home -user root -name out*

find [时间查找] [以天为单位]

  • 天:ctimeatimemtime
  • 分钟:cminaminmmin
  • c表示:change改变文件属性的意思(比如所有者、所属组、权限变更)
  • a表示:access表示被访问过的意思(比如被查看过等)
  • m表示:modify更改内容的意思
  • 在时间前面添加:-表示之内,+表示之外:find /home -mmin -120

find应用的连接符:

  • -a(and的意思,逻辑与):find /etc -size +1024 -a -name ca*
  • -o(or的意思,逻辑或)

find根据文件类型进行查找:-type。其中:f表示二进制文件,l表示软链接文件,d表示目录

  • find /home -type d
  • find /home -type d -o -name out.log

find的连接执行符号:find ... -exec [执行命令] {} \;

  • 注意:”{}”表示find命令查找的结果,而””表示转义符
find ... -exec [执行命令] {} \;
find ... -ok [执行命令] {} \;

ok和exec的区别就是ok有询问确认的意思

find /etc -name init* -a -type f -exec ls -la {} \;

find -inum [i节点标号]:根据i节点查找文件,在Linux系统中,所有的文件都有一个唯一的标识,方便Linux内核去调用,这就是i节点

[root@tc110 home]# ll -i
    13 -rw-r--r--. 1 root  root     54 Feb 12 06:08 error.log
[root@tc110 home]# find /home -inum 13
/home/error.log

which

which [命令名称]:查看命令所在的目录位置

  • 在Linux里面一般只有两种命令,第一种是所有用户都可以使用,第二种则是只允许管理员使用,还有一个命令叫whereis,和which使用类似
  • 比如:rm命令,可以使用which rm查看其命令内容:
[root@tc110 home]# which rm
alias rm='rm -i'
        /bin/rm

alias就是别名的意思,说明使用的rm命令在默认的情况下加了-i选项,意思是在删除的时候进行询问是否需要删除,那么添加””就使用真正的rm命令而不是别名,直接就可以删除不需要提示询问。

locate

locate [文件名称]:查找文件,根据Linux数据库内部的索引(updatedb命令,可以手工更新updatedb数据库,一般和locate配合使用)

注意:locate的查找速度非常快,比find查找快很多,原因是locate查找的是Linux系统构建的文件数据库的索引值,所以速度非常快,但是有的时候新创建的文件使用locate命令查找不到,原因是这个文件的索引没有马上更新到Linux系统文件数据库里。

man

man [命令或者配置文件]:帮助命令,非常的有用,可以获得命令的帮助文档,如何使用等

whatis

whatis [命令]:查看命令的描述

–help

[命令] --help:查看命令的选项用法。

2.4 压缩解压缩命令

gzip

gzip [文件名称]:压缩的时候不保留原文件,并且只能压缩文件不能压缩目录

gunzip

gunzip [已压缩的文件]:解压缩文件,不保留源文件

tar

tar [zcvf] [zxvf] [打包文件名.tar.gz] [源文件]
	-c 产生tar打包文件(必选)
	-x 产生的解压缩文件(必选)
	-v 显示详细信息
	-f 指定压缩后的文件名
	-z 打包同时压缩

打包目录生成的后缀名.tar.gz,或者进行解压。最后配置加-C表示文件解压后存放的路径

file

file命令可以查看任何文件的类型

zip

zip 选项[-r] [压缩后文件名称] [源文件]:zip的格式是Windows和Linux通用的格式,可以压缩文件和目录,压缩目录时需要选项-r

unzip

unzip [解压缩的文件]:进行解压缩。最后配置加-d表示文件解压后存放的路径

2.5 其它命令

ping

排查ping不通对方网络:

  1. 首先ping一下回环地址127.0.0.1检查自己本机的网络协议是否正确
  2. 再ping一下本机ip查看自己本机的网络是否正确
  3. 然后检查对方网络设置、防火墙、插件等
  4. 如果发现丢包率里有丢失数据包,可能是网络、网线的原因
  5. ping配置选项ping -c 6 192.168.1.110(表示ping 6次之后断开)
  6. ping配置选项ping -s 60000(最大65507)
  • ifconfig:查看网卡信息
  • shutdown -h now:关机
  • reboot:重启
  • ctrl + l:清屏
  • ctrl + c:退出应用
  • tab键,信息补全

grep

过滤:grep,可以将指定内容进行过滤然后输出。

管道:将一个命令的输出传送给另一个命令,作为另外一个命令的输入。管道可以连接N个命令。

  • ls -l /etc | more(表示将ls -l /etc的输出,当做more命令的输入,即more命令浏览的内容为前面命令的输出结果)
  • ls -l /etc | grep init(表示将ls -l /etc的输出结果进行过滤,显示为init的结果)
  • ls -l /etc | grep init | wc -l(最后进行统计显示的个数)

逻辑与(&&)

形如:ls && pwd(第一个命令如果执行成功。第二个命令才会执行)

逻辑或(||)

形如:ls || pwd(第一个命令执行成功,则第二个不执行;第一个命令执行失败,则执行第二个)

重定向

输入输出重定向:Shell对每一个进程预先定义了3个文件描述字(0,1,2)

  • 0(stdin)标准输入
  • 1(stdout)标准输出
  • 2(stderr)标准错误输出

输出重定向:就是把输出的结果显示到一个文件上(>表示输出重定向)

  • ll /home > /home/out.log

如果想进行结果的追加,使用”>>”

  • date >> /home/out.log

输入重定向:就是把输入的信息重定向,比如把一个文件里的内容,进行发出

  • wall < /home/out.log

错误重定向:一般是把程序执行的错误日志信息存放到指定的log日志中

  • ll /abcdefg 2> /home/error.log

PREV 1.x Linux初步与环境安装 | NEXT 3.x vi/vim文本编辑器