目录与文件


更改工作目录:cd

  1. cd .. 转到当前目录的上层目录
  2. cd ~ 转到当前用户的家目录
  3. cd ../../ 转到当前目录的上上层目录
  4. pwd 显示当前工作目录

目录与文件查看: ls

  1. -l 以长格式形式显示
  2. -a 显示所有文件或目录,包括隐藏文件
  3. -i 显示文件索引信息,也就是文件的inode号
  4. -d 列出目录

创建工作目录: mkdir

  1. -m 指定所有用户对新建目录的权限
  2. -p 可以强制创建多层目录

创建空文件: touch


创建文件并写入内容: cat

cat > file 输入内容 ctrl+c

cat file 查看是否创建成功


向文件中写入内容: echo hello world > file


复制文件或目录: cp

-r 递归复制

复制文件file1到/tmp中并重命名尾file2

cp file1 /tmp/file2

复制/root/file1到/tmp中并重命名为file2

cp /root/file1 /tmp/file2

复制当前目录下以.bak结尾的文件到/tmp中

cp*.bak /tmp

更改文件或目录名称: mv

将/tmp目录下的pic重命名为pic2

mv /tmp/pic /tmp/pic2

目录与文件移动: mv

将pic目录下的所有以png结尾的文件移动到/usr/local/share/pic下

mv /tmp/pic/*.png /usr/local/share/pic

删除文件或目录: rm

  1. -r 递归删除,可以删除目录下的文件或目录

  2. -f 删除文件时不提醒而强制删除

  3. rmdir 只能删除空目录

    删除文件名中包含字符4且以 .bak结尾的文件

    rm *4*.bak

    删除当前目录下扩展名有四个字符的文件

    rm *.????

    删除文件首字母为a,b或c,且扩展名为.txt的文件

    rm [abc]*.txt

    删除文件名为数字字符开头,且文件扩展名为两个字符的文件

    rm [0-9]*.??

文件详细信息: stat


文件权限及内容显示


文件权限: chmod

用户分类: 文件拥有者(user)、同组用户(group)、其他用户(others)
三种权限: 读(r)、写(w)、执行(x)


字符设定法

语法:chmod [who] [+ | - | =] [mode] 文件名
说明:[who]可是下述字符中的一个或它们的组合:
u(user):表示“用户”,即文件或目录的所有者
g(group):表示“同组用户”
o(others):表示“其他用户”
a(all):表示“所有用户”
[+ | - | =] :+表示添加某个权限;-表示取消某个权限;
=表示赋予给定权限
[mode]:r(可读)、w(可写)、x(可执行)

设定文件test1的属性为:文件属主(u)增加执行权限,与文件属主同组用户(g)增加执行权限,其他用户(o)增加执行权限

chmod a+x test1

设定文件test2的属性为:文件属主(u)增加写权限,与文件属主同组用户(g)增加写权限,其他用户(o)删除写、执行权限

chmod ug+w,o-wx test2

删除文件test3的执行权限,以下三个命令均可

chmod a-x test3
chmod -x test3
chmod ugo-x test3

把文件test4的执行权限改为rwxrw-rw-

chmod u=rwx,g=rw,o=rw test4

数值设定法 -> 数值计算: r:4, w:2, x:1

chmod 数值 文件名
数值计算:若权限为[-rwxrw----]
ower=rwx=(111)2=4+2+1=7 
group=rw-=(110)2=4+2+0=6
others=---=(000)2=0
理解: mode可分为3个8进制数字,将每个8进制数字转化为2进制数字,1对应的赋予相应的权限,0对应的取消相应的权限

设定文件aaa的属性为文件属主(u)拥有读、写权限,与文件属主同组用户(g)拥有读权限,其他人(o)拥有读权限

chmod 644 aaa

设定bbb这个文件的属性为:文件属主(u)可读/可写/可执行权,与文件属主同组用户(g)可读/可执行权,其他人(o)没有任何权限

chmod 750 bbb

文件内容显示

cat: 查看文件,在屏幕上显示文件内容

  1. -n 显示出行号
  2. -A 显示文件中所有字符,包括隐藏字符

more: 分页显示文件内容

读完文件再显示;按住空格往前翻; ctrl+f 往前翻页; ctrl+b 往后翻页;按q键退出所有查看的文件


less: 分页显示文件内容

边读边显示,启动快;按住空格往前翻; ctrl+f 往前翻页; ctrl+b 往后翻页;按q键退出所有查看的文件;less扩展了more命令的功能


head: 查看文件头几行数据;了解文件中数据模式

head -n 15 test //查看test文件的前15行
head test //默认输出前10行

tail: 查看文件末尾数据;多用于查看系统日志

tail -n 15 test //查看test文件的末尾15行
tail test //默认输出末尾10行

管道: |

查看/etc目录下的文件,并将结果分页显示

ls /etc | more

查看系统中已安装软件中软件名包含字符'a'的所有软件,输出结果分页显示

dpkg -l | grep a | more

数据流

标准输入(stdin),标准输出(stdout),标准错误输出(stderr)

  1. /dev/stdin 标准输入 0
  2. /dev/stdout 标准输出 1
  3. /dev/stderr 标准错误输出 2

数据流重定向

输出重定向

图片说明

以长格式形式列出/etc目录下文件信息,并将其重定向到文件right中

 ls -l /etc > right
 ls -l right <=查看新建文件

查看计算机网卡信息并将结果输出到文件right中

ifconfig >> right

命令运行正确时重定向到right,出错时重定向到error

ls -l /etca >right 2>error

特殊用法:
图片说明

将ls命令运行结果重定向到right_error (覆盖)

 ls -l /etc >right_error 2>&1
 ls -l /etc &>right_error

将ls命令运行结果重定向到right_error (追加)

 ls -l /etc >>right_error 2>&1
 ls -l /etc &>>right_error

输入重定向: wc

  1. -l 统计行数
  2. -w 统计单词数
  3. -c 统计字节数
    统计文件test的行数、单词数以及字节数
    wc < test