Linux文件基本属性:
Linux文件基本属性:
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
再Linux中我们通常使用以下命令来修改文件或目录的所属用户与权限:
chown:修改所属用户与组
chmod:修改用户权限
重启电脑:
shutdown -r now
在linux中可以通过ll或ls -l来显示一个文件的属性以及文件所属的用户和组。
在Linux中第一个字符表示了这个文件是目录、文件、链接文件等待。。。
d 目录
- 文件
l 链接文件
b 表示为装置文件里面的可供存储的设备
c 表示为装置文件里边的串行端口设备,例如键盘、鼠标等一次性读取装置
接下来的字符中,以三个为一组。均为rwx的三个参数组合,第一组为主权限、第二组为组权限、第三组为其他用户权限
r 读
w 写
x 执行
如:
drwxr-xr-x 21 root root 4096 7月 22 09:18 ./
drwxr-xr-x 21 root root 4096 7月 22 09:18 ../
第一列为文件类型及权限
第二列为硬链接的引用次数
第三列为文件拥有者账户
第四列为文件拥有者所在组名
第五列为文件所占的字节数
第六列为文件最后的修改时间
第七列为文件名
更改文件属性
chgrp:更改文件属组
chgrp [-R] 属性名 文件名
-R:递归更改文件属组,就是在更改,某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的数组都会更改。
chown:更改文件属主,也可以同时更改文件数组
chown [-R] 属性名 文件名
Linux文件与目录管理
绝对路径:
路径的写法,由根目录/写起,例如:/user/share/man这个目录。
相对路径:
路径的写法,不是由/写起,例如由/user/share/doce要到/user/share/man底下时,可以写成:cd../man这就是相对路径的写法。
处理,目录的常用命令:
ls 列出目录及文件名
cd 切换目录
pwd 显示当前的目录
mkdir 创建新的目录
rmdir 删除一个空的目录
cp 复制文件或目录
rm 删除文件或目录
mv 移动文件与目录,或修改文件与目录的名称
Linux文件内容查看常用命令:
car 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出tac是cat的倒着写
nl 显示的时候顺序显示出行号
more 一页一页的显示文件内容
less 与more类似但可以往前翻页
head 只看前几行
tail 只看后几行
cat log.txt | tr -s '\n' //去除空行
linux磁盘管理
linux磁盘管理常用命令给df、du、fdisk。
df 列出文件系统的整体磁盘使用量
du 检查磁盘空间使用量
fdisk 用于磁盘分区
lftp
lftp指令可以用来登录远程ftp服务器,这是一个字符界面的文件传输工具。
命令适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1 、语法
lftp [ 选项] [host]
2 、选项列表
-d 打开调试模式
-e cmd 执行给定的命令,不退出
-c cmd 执行给定的命令,并且退出
-p port 使用指定的端口登录
-u user,pass 使用给定的用户名和密码登录
-f file 执行文件中的命令
get(mget)
get(mget)用于从远程机上获取文件。
命令格式为:mget 文件名列表
sed命令:
Linux sed 命令是利用脚本来处理文本文件。
基础语法:
sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。
动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除,所以 d 后面通常不接任何东东;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
例:
#删除匹配到的内容
sed 's/xxx//'
#删除每行前两个字符,点(.)的数量代表字符数量
sed 's/^.. //g'
#再每行末尾加xxx内容
sed -i 's/$/xxx/g'
Linux中>、>>、和2>&1的含义:
1、>
直接把内容生成到指定文件,会覆盖源文件中的内容。
2、>>
尾部追加,不会覆盖掉文件中原有的内容,相当于append
3、2>&1
将标准错误输出重定向到标准输出
>&是一个整体,如若写为2>1的话含义就变为:
将标准错误输出重定向到名为‘1’的文件中。
由于输出重定向的话就不会再打印数据。这时可以使用tee命令,tee并不是输出重定向的作用,而是将打印的数据复制一份到指定的文件中去
tee //将打印的内容复制到指定文件
-a //追加写入
set
set命令用于设置shell的执行方式,可依照不同的需求来设置。
参数:
-a 标示已修改的变量,以供输出至环境变量。
-b 使被中止的后台程序立刻回报执行状态。
-C 转向所产生的文件无法覆盖已存在的文件。
-d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e 若指令传回值不等于0,则立即退出shell。
-f 取消使用通配符。
-h 自动记录函数的所在位置。
-H Shell 可利用"!"加<指令编号>的方式来执行history中记录的指令。
-k 指令所给的参数都会被视为此指令的环境变量。
-l 记录for循环的变量名称。
-m 使用监视模式。
-n 只读取指令,而不实际执行。
-p 启动优先顺序模式。
-P 启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t 执行完随后的指令,即退出shell。
-u 当执行时使用到未定义过的变量,则显示错误信息。
-v 显示shell所读取的输入值。
-x 执行指令后,会先显示该指令及所下的参数。
+<参数> 取消某个set曾启动的参数。
awk
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
1.awk '{[pattern] action}' //行匹配语句 awk '' 只能用单引号
2.awk -F //指定分割字符
3.awk -v //设置变量
4.awk -f //从脚本文件中读取awk命令
5.关于 awk 脚本,我们需要注意两个关键词 BEGIN 和 END。
BEGIN{ 这里面放的是执行前的语句 }
END {这里面放的是处理完所有的行后要执行的语句 }
{这里面放的是处理每一行时要执行的语句}
https://m.runoob.com/linux/linux-comm-awk.html
Linux grep
用于查找文件中符合条件的字符串
参数:
-a或-text:不忽略二进制的数据
-A:除了显示符合范本样式的那一列之外,并显示之后的内容
-b:在显示符合样式的那一行之前,标示出该行第一个字符的编号
-B:除了显示符合样式的哪一行之外,并显示该行之后的内容
-c:计算符合样式的行数
-C:除了显示符合样式的那一行之外,并显示该行之后的的内容
-d:当前指定要查找的是目录而非文件时,必须使用该参数,否则grep指令会将回报信息并停止动作
-e:指定字符串作为查找文件内容的样式
-E:将样式为延伸的正则表达式来使用
-f:指定规则文件,其内容有一个或多个规则样式,让grrp查找符合规则条件的文件内容,格式为每行一个规则样式。
-F:将样式视为固定字符串的列表
-G:将样式视为普通的表示法来使用
-h:在显示符合样式的那一行之前,不标示该行所属的文件名称
-H:在显示符合样式的那一行之前,表示该行所属的文件名称
-i:忽略字符大小写的差别
-I:列出文件内容不符合指定样式的文件名称
-L:列出文件内容不符合指定样式的文件名称
-n:在显示符合样式的那一行之前,不标示该行所属的文件名称
-o 或 --only-matching : 只显示匹配PATTERN 部分。
-q 或 --quiet或--silent : 不显示任何信息。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-s 或 --no-messages : 不显示错误信息。
-v 或 --invert-match : 显示不包含匹配文本的所有行。
-V 或 --version : 显示版本信息。
-w 或 --word-regexp : 只显示全字符合的列。
-x --line-regexp : 只显示全列符合的列。
-y : 此参数的效果和指定"-i"参数相同。
Linux find
Linux find 命令用来指定目录下查找文件。如果使用该命令不用任何参数,则find命令将在当前目录下查找到子目录和文件全部显示。
语法:
find path -option [ -print ] [ -exec -ok command ] {} \;
例:
find . -name "*.sh"
#查找当前目录及其子目录下所有.sh文件
find . -type f
#查找当前目录及其子目录下所有普通文件
find . -type f -mtime +7 rm {} \;
#查找当前目录及其子目录下更改时间超过七天的文件并删除
histoty //查看历史命令
ctrl+r //联想历史命令
which 从环境变量中的path目录中查找,且which找到的都是可执行文件。
tar -zcvf code_AP31.tgz code_AP31/ //将code_AP31文件夹压缩为code_AP31.tgz
lsb_release -a //查看当前系统版本