目录
一、ls -al
类型:d rwx r-x r-x
位置:9 876 543 210
位置9 | 表示文件类型 |
---|---|
d | 目录 |
- | 普通文件 |
l | 链接文件 |
b | 块特殊文件,设备文件中可供存储的接口设备 |
c | 字符特殊文件,表示为设备文件中的串行端口设备,例如键盘、鼠标 |
s | 套接字文件 |
p | 命名管道文件FIFO |
位置8-0 | 权限 |
---|---|
876位 | 所有者权限 |
543位 | 同组其它用户权限 |
210位 | 其它用户权限 |
r:表示可读; w:表示可写;x:表示可执行;
二、export
1.Linux环境变量配置方法一:export PATH
new@new-virtual-machine:~$ export PATH=/home/uusama/mysql/bin:$PATH
# 或者把PATH放在前面
new@new-virtual-machine:~$ export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
生效时间:立即生效
生效期限:当前终端有效,窗口关闭后无效
生效范围:仅对当前用户有效
配置的环境变量中不要忘了加上原来的配置,即$PATH部分,避免覆盖原来配置
2.linux设置永久环境变量
1.用vi编辑器打开文件profile
$ vi /etc/profile
2.在profile文件最后添加 export PATH=$PATH:/home/filedirectory
$ export PATH=$PATH:/home/filedirectory
3.使用[【source】命令,重新执行刚修改的初始化文件,使在当前终端下之立即生效。
$ source /etc/profile
4.重启系统,永久生效。
$ reboot
三、tar 解压缩命令详解
1、tar -cvf test.tar test
仅打包,不压缩
2、tar -zcvf test.tar.gz test
打包后,以gzip压缩,在参数f后面的压缩文件名,习惯上用tar来做,
如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件
解压操作:
tar -zxvf /usr/local/test.tar.gz
tar 解压缩命令详解
1 -c: 建立压缩档案
2 -x:解压
3 -t:查看内容
4 -r:向压缩归档文件末尾追加文件
5 -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的
1 -z:有gzip属性的
2 -j:有bz2属性的
3 -J:具有xz属性的
4 -Z:有compress属性的
5 -v:显示所有过程
6 -O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
1、 tar -cf all.tar *.jpg
2、 tar -rf all.tar *.gif
1 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
2
3 # tar -uf all.tar logo.gif
4
5
6
7 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
8
9 # tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
打包成tar.gz格式压缩包
# tar -zcvf renwolesshel.tar.gz /renwolesshel
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
tar 解压缩命令总结:
(1) *.tar 用 tar –xvf 解压
(2) *.gz 用 gzip -d或者gunzip 解压
(3) *.tar.gz和*.tgz 用 tar –xzf 解压
(4) *.bz2 用 bzip2 -d或者用bunzip2 解压
(5) *.tar.bz2用tar –xjf 解压
(6) *.Z 用 uncompress 解压
(7) *.tar.Z 用tar –xZf 解压
(8) *.rar 用 unrar e解压
(9) *.zip 用 unzip 解压
(10) *.xz 用 xz -d 解压
(11) *.tar.xz 先 xz -d filename 再 tar –xvf 解压
四、ln 建立链接
建立软链接
ln -s 源文件 目标文件
例如:ln -s /usr/hb/ /home/hb_link
删除软链接
正确的是:rm -rf hb_link
错误的是:rm -rf hb_link/ 这个会把整个目录都删了
五、find 查找文件
5.1、语法
find path -option [ -print ] [ -exec -ok command ] {} \;
5.2、例子
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来
$ find . -name "*.c"
将当前目录及其子目录中的所有文件列出
$ find . type -f
将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
$ find ./ -ctime 20
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们
$ find /var/log -type f -mtime +7 -ok rm {} \;
查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
$ find . -type f -perm 644 -exec ls -l {} \;
查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
$ find / -type f -size 0 -exec ls -l {} \;
六、 grep
grep: Globally search a Regular Expression and Print
6.1、语法
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
6.2、参数
-a 或 --text :
不要忽略二进制的数据。
-A<显示行数> 或 --after-context=<显示行数> :
除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-b 或 --byte-offset :
在显示符合样式的那一行之前,标示出该行第一个字符的编号。
-B<显示行数> 或 --before-context=<显示行数> :
除了显示符合样式的那一行之外,并显示该行之前的内容。
-c 或 --count :
计算符合样式的列数。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> :
除了显示符合样式的那一行之外,并显示该行之前后的内容。
-d <动作> 或 --directories=<动作> :
当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式> 或 --regexp=<范本样式> :
指定字符串做为查找文件内容的样式。
-E 或 --extended-regexp :
将样式为延伸的正则表达式来使用。
-f<规则文件> 或 --file=<规则文件> :
指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
-F 或 --fixed-regexp :
将样式视为固定字符串的列表。
-G 或 --basic-regexp :
将样式视为普通的表示法来使用。
-h 或 --no-filename :
在显示符合样式的那一行之前,不标示该行所属的文件名称。
-H 或 --with-filename :
在显示符合样式的那一行之前,表示该行所属的文件名称。
-i 或 --ignore-case :
忽略字符大小写的差别。
-l 或 --file-with-matches :
列出文件内容符合指定的样式的文件名称。
-L 或 --files-without-match :
列出文件内容不符合指定的样式的文件名称。
-n 或 --line-number :
在显示符合样式的那一行之前,标示出该行的列数编号。
-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"参数相同。
6.3、例子
# /path/路径下包含data 关键字的所有文件都列出来
$ grep -r "data" /path/*
七、sed
# 不写行号,作用在每一行
$ sed 'i hello' test.txt
# 把"hello"插入到最后一行
sed -i '$a hello' sample.txt
# 把"hello"插入到第2行
sed -i '2i hello' test
# 作用在原本的第2行到第4行
$ sed '2,4 i hello' test.txt
# 把"hello"插入到第2行
sed -i '2i hello' test.txt
删除文件中的第7行
sed -i '7d' filename