Linux文件的规则和习惯
1, Linux文件名中除了/之外所有字符都合法
2, 文件名中大小写是敏感的
3, 不推荐空格,制表符等命名文件
4, Linux中使用.开头的文件为隐藏文件
Linux命令格式:
命令 -选项 参数例如:ls -la /etc
两个特殊命令
. 表示当前目录
.. 表示当前目录的父目录
ls -l命令显示的数据的意义
rwx r-x r-x 2: root root 4096 时间
r-read读权限,可以查看文件内容,可以列出目录中的内容
w-write写权限,可以修改文件内容(不可删除),可以在目录中创建和删除文件
x-execute执行权限,可以进入该目录
Linux中用户的分类:所有者u 所属组g 其他人o
user group other
rwx r-x r-x:中第一段表示user的权限,第二段表示group的权限,以此类推
rwx r-x r-x 2:中2表示硬链接数
rwx r-x r-x 2: root root:两个root分别表示所有者和所属组
rwx r-x r-x 2: root root 4096:4096表示文件大小(这个是不准却的)
rwx r-x r-x 2: root root 4096 时间:时间指创建时间或最终修改的时间
终止一个命令 ctrl + C
Linux权限规则:
缺省创建的文件不能授予可执行x权限
文件处理命令:
命令名称: ls
命令英文原意: list
命令所在路径: /bin/ls
执行权限: 所有用户
功能描述: 显示目录文件
语法: ls 选项[ald]
-a all 显示所有文件,包括隐藏文件
-l long 详细信息显示
drwxr-xr-x
d:文件类型: d:目录directory
-:二进制文件
l:软链接文件link
-d directory 查看目录属性
例子:
ls -l
详细显示当前目录的所有文件
命令名称: cd
命令英文原意: change directory
命令所在路径: shell内置命令
执行权限: 所有用户
功能描述: 切换目录
语法: cd[目录]
例子:
cd /
切换到根目录/
命令名称: pwd
命令英文原意: print working directory
命令所在路径: /bin/pwd
执行权限: 所有用户
功能描述: 显示当前所在的工作目录
语法: pwd
例子:
假如当前在/
pwd
系统会输出:
/
No.4
命令名称: touch
命令英文原意:
命令所在路径: /bin/touch
执行权限: 所有用户功能描述: 创建空文件
语法: touch [文件名]
例子:
touch test
则在此目录创建了一个test的空文件
No.5
命令名称: mkdir
命令英文原意: make directory
命令所在路径: /bin/mkdir
执行权限: 所有用户
功能描述: 创建新目录
语法: mkdir [目录名]
No.6
命令名称: cp
命令英文原意: copy
命令所在路径: /bin/cp
执行权限: 所有用户
功能描述: 复制文件或目录
语法: cp [源目录或文件] [目的目录]
-r 复制目录
-p 不更新复制出来文件的时间
No.7
命令名称: mv
命令英文原意: move
命令所在路径: /bin/mv
执行权限: 所有用户
功能描述: 移动文件,更名
语法: mv [源目录或文件] [目的目录]
相当与剪切和重命名
在当前目录下操作就是重命名
在不同目录下操作就是剪切
No.8
命令名称: rm
命令英文原意: remove
命令所在路径: /bin/rm
执行权限: 所有用户
功能描述: 删除文件
语法: rm -r [文件或目录]
-r 删除目录
-f 强制删除
No.9
命令名称: cat
命令英文原意: concatenate and display files
命令所在路径: /bin/cat
执行权限: 所有用户
功能描述: 显示文件内容
语法: cat [文件名]
No.10
命令名称: more
命令英文原意:
命令所在路径: /bin/more
执行权限: 所有用户
功能描述: 分页显示文件内容
语法: more [文件名]
空格或f 显示下一页
enter 显示下一行
q或Q 退出
No.11
命令名称: head
命令英文原意:
命令所在路径: /bin/head
执行权限: 所有用户
功能描述: 显示文件的前几行
语法: head -num [文件名]
-num 显示文件的前num行
No.12
命令名称: tail
命令英文原意:
命令所在路径: /bin/tail
执行权限: 所有用户
功能描述: 显示文件的后几行
语法: tail -num [文件名]
-num 显示文件的前num行
-f 动态显示末尾内容(会动态更新)
No.13
命令名称: ln
命令英文原意: link
命令所在路径: /bin/ln
执行权限: 所有用户
功能描述: 产生链接文件
语法: ln -s [源文件] [目标文件]
-s 创建软链接
软链接文件的特点
权限:lrwxrwxrwx
文件名:软链接文件 --> 源目标
类似与windows中的快捷方式
可以跨文件系统生成(跨分区)
硬链接文件的特点
类似于一个可以同步更新的copy文件
与源文件拥有同一个inode(内核能够识别的文件数字标识)
不能跨文件系统生成
权限管理命令:
命令名称: chmod
命令英文原意: change the permissions mode of a file
命令所在路径: /bin/chmod
执行权限: 所有用户
功能描述: 改变文件或目录权限
语法: chmod -{ugo} {+-=} {rwx} [目标文件或目录]
r-4 w-2 x-1:
chmod [mode = 421] [目标文件或目录]
示例: chmod -u = x test 赋予所有者可执行权限
chmod -o - w test 取消其他人的写权限
rwxr-xr--: 754
rw-r-x--x: 651
chmod 651 test
No.2
命令名称: chown
命令英文原意: change file ownership
命令所在路径: /bin/chown
执行权限: 所有用户
功能描述: 改变文件或目录的所有者
语法: chown [用户] [文件或目录]
No.3
命令名称: umask
命令英文原意:
命令所在路径:
执行权限: 所有用户
功能描述: 查看和设置默认创建的文件和目录的权限
语法:
示例: umask 查看默认权限掩码(777-掩码=真实权限)
umask -S 查看默认权限的描述
umask 掩码 更改默认权限
文件搜索命令:
命令名称: which
命令英文原意:
命令所在路径: /usr/bin/which
执行权限: 所有用户
功能描述: 显示系统命令所在目录
语法: which [命令名称]
示例: which ls
(whereis和which类似,用法相同)
No.2
命令名称: find
命令英文原意:
命令所在路径: /usr/bin/find
执行权限: 所有用户
功能描述: 查找文件或目录
语法: find [搜索路径] [搜索关键字]
-name 根据文件名查找 通配符:‘*’,‘?’
-size 根据文件大小查找(单位为数据块,通常为512字节)
-user 根据文件的所有者查找
根据时间查找
1.ctime,atime,mtime(天)
2.cmin,amin,mmin(分钟)
c表示change(文件属性[所有者等信息]被修改过)
a表示access(访问)
m表示modify(文件的内容被修改过)
-之内 +超过
链接符
-a and
-o or
-exec
find .... -exec 命令 {} \;
find .... -ok 命令 {} \;
基本与exec相同,只是过程中询问
-type 按照文件类型查找(f二进制 l软链接文件 d目录)
-inum 根据i节点查找
示例: find /etc -name test?.*
find /etc -size +204800(大于100MB的文件)
find /etc -size -204800(小于100MB的文件)
find /etc -size -204800(等于100MB的文件)
find /home -user caoxy
find /etc -mmin -120(两个小时之内被修改过的文件)
find /etc -size +163840 -a -size -204800
find /home -type d
find /etc -name test -exec ls -l {} \;
find /etc -inum 16 -exec rm {} \;
(找到i节点为16的文件并删除)
No.3
命令名称: locate
命令英文原意:
命令所在路径: /usr/bin/locate
执行权限: 所有用户
功能描述: 查找文件或目录(在系统目录文件数据库中查找,速度比find快,看是只能找到在数据库中的文件)
No.4
命令名称: updatedb
命令英文原意: update the slocate database
命令所在路径: /usr/bin/updatedb
执行权限: root
功能描述: 建立整个系统目录文件的数据库
示例: updatedb
No.5
命令名称: grep
命令英文原意:
命令所在路径: /bin/grep
执行权限: 所有用户
功能描述: 在文件中搜寻字符串匹配的行并输出
示例: grep ftp /etc/services(在这个文件中找ftp所在的行)
帮助命令:
命令名称: man
命令英文原意: manual
命令所在路径: /usr/bin/man
执行权限: 所有用户
功能描述: 获取帮助信息(命令和配置文件的帮助信息)
示例: man ls(查看ls命令的帮助信息)
info ls(info和man类似)
No.2
命令名称: whatis
命令英文原意:
命令所在路径:
执行权限:
功能描述: 获取简要帮助信息
示例: whatis whereis
No.3
命令 --help(显示这条命令的信息)
示例:ls --help
No.4
命令名称: help
命令英文原意:
命令所在路径:
执行权限:
功能描述: 查看shell内置命令帮助
示例: help cd
压缩解压命令:
.gz
gzip [文件名](制作压缩包)
1.只能压缩文件,不能压缩目录
2.不保留原文件
gunzip 或 gzip -d [文件](解压缩)
tar
tar
-c 产生.tar打包文件
-x 解压缩
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
压缩后的文件格式:.tar.gz
示例:tar -zcvf dir1.tar.gz dir1
将目录dir1压缩成一个打包并压缩的文件
示例:tar -jxvg dir1.tar.gz
解压缩压缩文件
zip
windows和Linux都支持,并可以压缩目录
zip test.zip test
将test压缩
zip -r test.zip /test
解压缩unzip
.bz2
压缩比很高!
bzip2 -k file1.bz2
网络通信指令:
向另外一个用户发送消息
write 用户名 (ctrl + D结束)
ping
测试网络联通性
ping IP地址
-c 设定ping多少次
ping -c 3 192.168.9.3
-t 设定发送包的大小
ifconfig
查看网卡信息
-a所有信息
系统关机命令:
示例:shutdown -h now现在关机
reboot 重启
Shell应用技巧(bash应用技巧):
上下箭头切换历史命令(输入history可以查看所有历史命令)
清屏clear 或者 ctrl + L
ctrl + u删除光标之前的所有字符
命令别名
定义别名
例如: alias copy=cp
alias xrm="rm -r"
取消别名:
unalias copy
输入输出重定向:
ls -l /tmp > /tmp.msg
将输出定向到tmp.msg文件(tmp.msg被重新覆盖)
ls -l /tmp >> /tmp.msg
这里对tmp.msg进行追加
cp -r /test /test2 2> /bak.error
命令发生错误之后将错误log放到bak.error中
管道:
ls -l /ect | more
分页浏览ls的结果
ls -l /ect | grep init | wc -l
统计在ect目录下包含init的有多少行
命令连接符
命令依次执行
示例:pwd ; ls ; date
&&
command1 && command2
command1执行成功才会执行command2
||
command1 && command2
只有command1执行失败command2才执行
命令替换符
示例:
ls -l `which touch`
将一个命令的输出作为另一个命令的参数