文章目录

  • ​​1、命令行界面​​
  • ​​2、简单命令​​
  • ​​3、命令格式​​
  • ​​4、文件及其类型​​
  • ​​5、常用文件操作命令​​

1、命令行界面

Linux复习-常见命令及文件操作_当前目录

Linux复习-常见命令及文件操作_当前目录_02


我的终端命令行界面长这样。

  • barry:表示当前的用户名
  • manjaro:表示默认的主机名
  • ~:表示默认用户主目录
  • $:表示当前为普通用户
  • #:表示当前为超级用户

2、简单命令

  • who: 列出当前所有正在使用系统的用户
  • echo: 打印字符串
  • date: 打印日期
  • cal: 打印日历
  • clear: 清屏
  • passwd: 修改当前用户密码
  • ls: 打印当前目录所有文件
  • pwd: 打印当前工作目录
  • su: 切换用户

3、命令格式

  • 使用echo命令两种输出字符串后光标不换行
echo -n "hello"
#-n:表示输出字符串之后不换行
echo -e "hello\c"
# -e 开启转义 \c 不换行
  • date打印指定格式
    (1)显示现在的日期和时间
date '+Today is %D, and now is %r' 
#output:Today is 12/30/21, and now is 下午 06时01分57秒

#‘+’:存在的意义是规定好的,这个加号必须要加上
#%D:用mm/dd/yy的形式表示日期
#%r:用hh:mm:ss表示时间

(2)显示前天的时间

date -u --date='2 days ago'  
#output:2021年 12月 28日 星期二 10:03:13 UTC

#-u:使用格林尼治时间 也就是最后那个UTC,不加这个-u就显示的是中国时间 CST
#--date:显示何时的时间

(3)设置时间为下午3点30分

[manjaro barry]# date -s 15:30:15

#注意这里需要先使用 su命令切换到超级用户下

4、文件及其类型

  • 通配符
    (1)‘*’
    与0个或者多个任意字符相匹配,例如l:./e* 可以匹配当前目录下所有以le开头的文件,如letter,lease,le等
    (2)‘?’
    只与单个字符匹配,例如:./name.?,假如有name.c name.d文件就会匹配出来。
    (3)‘[]’
    只与单个字符匹配,但是限定匹配的内容只有中括号里面的内容。例如:./name[12345].c,只会匹配当前目录下的name1.c,name2.c,name3.c,name4.c,name5.c这五个文件的存在。
  • 文件类型
    文件类型有:普通文件,目录文件,设备文件,符号链接文件(软链接文件)。

5、常用文件操作命令

  • cat

(1)显示文本文件

cat doc
#显示doc文本内容

(2)文件重定向

请看如下操作,将date1,date2文件合并放到date3中。

Linux复习-常见命令及文件操作_当前目录_03


(3)管道

使用使用cat 读取result的内容,将内容通过管道符号‘|’ 传送给grep

Linux复习-常见命令及文件操作_字符串_04

  • more
    一次展示一屏文本,只能向前浏览
  • less
    一次展示一屏文本,能向上向下浏览
  • head
    默认显示文本前十行,使用-n修改默认行数
  • tail
    默认显示文本最后十行,使用-n修改默认行数
  • touch
    创建文件
  • file
    用于辨识文件类型
  • grep
    重点考察。用于在文本文件中查找指定字符串。
    (1)在密码文件/etc/passwd中查找包含barry的所有行
grep 'barry' /etc/passwd
#output:barry:x:1000:1000:barry:/home/barry:/bin/zsh

(2)进入到barry上一级,然后再barry目录下的所有问津安中查找字符串“print”出现的次数

grep -r 'print' barry/

#output:太多太多了

(3)在子目录dir下与正则表达式f?.c 相匹配的各个文件中查找包含main或者printf的所有行,不管首字母的大小写。

grep -i 'main \| printf \| rich' ~/dir/f?.c
  • sort
    只考察第一个字符 也就是k=1的时候
sort temp
#等价于 sort -k 1 temp
  • unqi
    去除排好序的重复行
  • commdiff
    比较文件
  • cp
    复制文件指令,重点考察。cp操作增加文件,mv操作不增加文件
    -r,-R:递归复制目录
    -a:在复制目录的时候使用,但是相比-r,-R 复制的东西更多。
    -f:强制复制,覆盖已经存在的同名文件
    -i :如果目标路径冲突,请求用户确认
    -p:除了复制文件,还将存取权限,修改时间一并复制。
    -l:不复制,而是创建指向源文件的链接文件。

(1)将temp复制到Temp目录下,并改名为temp2

cp temp ./Temp/temp2

(2)将目录USER目录及其子目录复制到Temp目录下

cp -r USER Temp

(3)将Temp中t打头的所有文件复制到USER中

cp -i t* USER
  • rm
    删除指令,重点考察。
    -f:强制删除
    -r:递归删除,能够删除目录
    -i:交互式删除
    (1)交互式删除当前目录下的t打头文件
rm -i t*

Linux复习-常见命令及文件操作_当前目录_05


(2)删除当前目录下除隐含文件下的所有文件和子目录(危险操作)

rm -r *
  • mv
    -i:交互式移动文件
    -f:强制移动文件

(1)将文件test1改名为test2

mv test1 test2

(2)将USER中所有文件移动到Temp目录下

mv USER/* Temp
  • wc
    统计指定文件的行数、单词数、字节数、字符数。
    -c:字节数
    -l:行数
    -w:单词书
    -m:字符数