Linux-文件及目录管理
(1)

1. 创建和删除

 创建:mkdir
 删除:rm
 删除非空目录:rm -rf(-r将参数中列出全部目录和子目录递归删除,- 
 f强行删除,不提示确认)
 创建文件:touch

Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件

 移动:mv

将2.txt文件移动到test1目录下

 复制:cp(复制目录文件:cp -r)

2. 目录切换

cd change directory 切换当前工作目录

 **~** home目录,刚登陆时的目录。如果目录名省略,变换至home目录
 **.** 表示目前所在的目录
 **..** 表示当前目录位置的上一层目录
 ***/*** 表示根目录

 切换到home路径:cd    cd ~
 更改当前路径为path:   $cd path

3. 列出目录项

列出当前工作目录所含文件及目录:ls
按时间排序,以列表的方式显示目录项:ls -lrt
  • -a 显示所有文件及目录(包括.开头的隐藏文件)
  • -l 列出详细信息
  • ls -al 列出详细信息
  • -r 以相反次序列出
  • -t 按建立时间先后次序列出
  • ls -R 递归显示出所有的子目录和子文件

 文件调用权限:文件所有者(owner)、用户组(group)、其他用户(other users)

drwxr-xr-x(一共有十位):

 第一位表示文件类型:d是目录文件,l是链接文件,-是普通文件,p是管道
 第二到四位表示文件的属主拥有的权限:r是读,w是写,x是执行
 第五到七位表示与这个文件的属主在同一组的用户具有的权限
 第八到十位表示其他用户具有的权限
 

4. 查找目录及文件

Linux下find命令详解

find命令在指定目录下查找文件

find path -option [ -print ] [ -exec -ok |xargs |grep ] [command {} \;]

exec:执行shell命令,用command {} ;
ok:与exec作用相同,给出用户提示是否执行
|xargs:与exec作用相同,主要用于承接删除操作
option:

  • -name filename
    查找名为filename的文件

    find ./ -name '*.txt' 当前目录下查找所有txt后缀文件

  • -perm
    按文件权限来查找文件

/mode是有权限就行 mode是正好满足权限 +mode是部分满足权限(弃用) -mode是比此权限更高
文件有所属用户、所属组、其他这三个属性对应着三组权限值(读,写,执行),有权限置1,没有权限置0:
rwx rwx rwx

八进制语法:

  • -prune
    -a表示逻辑与 -o表示逻辑或 -not表示非

find ./ -path './a' -prune -o -name '*.txt' -print 当前目录下除a目录的子目录中找txt文件

  • -user
    按照文件主属查找文件
  • -group
    按照文件所属的组查找文件
  • -mtime -n +n
    按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示n天以前
  • -nogroup
    查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
  • -nouser
    查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
  • -newer file1!file2
    查找更改时间比文件file1新但比文件file2旧的文件
  • -type

b 块设备文件。
d 目录。
c 字符设备文件。
p 管道文件。
l 符号链接文件。
f 普通文件。

  • -size n
    查找文件长度为n块的文件,带有c时表示文件长度以字节计。

+n代表超过

  • -depth
    在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
  • -mount
    在查找文件时不跨越文件系统mount点
  • -follow
    如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
  • -size
    按大小查找

find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库:

5. 查看文件内容
cat 从第一行显示内容

  cat -n   同时显示行号

tac 与cat相反,从最后一行显示
head 只看头几行

 $head -1 filename 显示第一行

tail 只看尾几行

 $tail -5 filename 显示倒数第五行

more 一页一页显示档案
less 与more类似,可以往前看
nl 显示后,输出行号
od 以二进制读取内容

6. 查找文件内容
egrep在文件内查找指定的字符串
语法:

 egrep [范本模式](查找的字符串规则) [文件或目录](查找的目标文件或目录)

7. 文件与目录权限修改

  • 改变文件的拥有者和群组:chown

    chown [-cfhvR] [--help] [--version] user[:group] file
    -R 改变当前目录下的所有文件与子目录

  • 控制用户对文件的权限:chmod

    chmod [-cfvR] [--help] [--version] mode file
    mode:权限设置
    [ugoa] [+-=] [rwxX]

  • 增加脚本可执行权限:chomd a+x myscript

8. 给文件增加别名

9. 管道和重定向

  • 命令顺序执行; command1;command2
  • 批处理命令连接执行 |
  • 前面执行成功,执行后面命令 &&
  • 前面执行失败,执行后面命令 ||
  • $?存储上次命令返回结果 echo $? (输出结果)

管道命令将前面每一个进程的输出直接作为下一个进程的输入
Linux管道命令
数据流可以流入到文件和屏幕,如果输入的命令不来自键盘,而是来自文件就是输入重定向,如果写入在文件中,就是输出重定向
linux的输入输出重定向和管道

 输出重定向>,相当于1>,输入重定向<,相当于0<,如果要使用错误输出,用2>
 在正常输入命令后加上2>&1,将错入输出和标准输出,输出到一个文件中
 这里的&符号是为了区分文件和文件描述符的,如果没有&符号,系统会把(1)理解 
 为文件,不是标准输出

10. 设置环境变量

11. Bash快捷输入或删除

注:书籍
上面内容来自链接中这本书,这是对这些命令的一个记录

本文为作者hackerbo.com发布,未经允许禁止转载!
上一篇 下一篇
评论
暂无评论 >_<
加入评论