《Linux命令行大全》重点笔记——第一部分 学习shell

《Linux命令行大全》重点笔记

第一部分 学习shell


第一章 shell是什么

1.3 简单命令

1、date:系统时间、日期。

2、cal:当月日历。

3、df:磁盘可用空间。

4、free:可用内存。

5、exit:关闭终端会话。



第二章 导航

2.2 简单命令

1、pwd:当前工作目录(Print Working Directory)。

2、ls:列出当前工作目录的文件和目录

​特别地,ls -a:可以列出隐藏文件

3、cd:更改工作目录。

  • 绝对路径:从根目录开始写起(/)
  • 相对路径:从工作目录开始写起(.当前目录/..父目录)


第三章 Linux系统

3.1 ls命令

1、选项和参数

  • 连字符+短选项:ls -a
  • 双连字符+长选项:ls --reverse
  • 连字符+多个短选项:ls -lt

ls常用选项:

-a/--all:列出所有文件,包括隐藏。

-l:长格式显示。

-r/--reverse:字母逆序显示。

-S:文件大小排序。

-t:修改时间排序。

-h/--human-readable:人可读的方式显示文件大小。

3.2 file命令

file filename:确定文件类型。

3.3 less命令

less filename:查看文件内容。

按Q键退出。



第四章 操作文件与目录

4.1 通配符

常用通配符:

*:匹配任意多个字符(0/1/2…个)。

?:匹配任意单个字符(1个)。

4.2 mkdir——创建目录

mkdir dir1:创建一个目录。

mkdir dir1...:创建多个目录。

4.3 cp——复制文件和目录

cp item1 item2:复制单个文件。

cp item1... directory:复制多个文件。

4.4 mv——移除和重命名文件

mv item1 item2:移动/重命名item1为item2。

mv item... directory:移动单个/多个文件到某个目录下。

4.5 rm——删除文件和目录

rm item...:不可撤回的操作!⚠️

rm命令常用选项:

-i/--interactive:提醒用户确认

-r/--recursive:递归删除

-f/--force:直接执行不提示

4.6 ln——创建链接

  • ln file link:创建硬链接。
  • ln -s item link:创建软链接/符号链接。

硬链接软链接对比

  • 共同点:引用/指向文件。
  • 区别:硬链接只能引用同个磁盘分区的文件,且不能引用目录;软链接相当于一个指针,且可引用目录。


第五章 命令的使用

5.2 识别命令

1、type——显示命令类型

type command

2、which——显示可执行程序位置

which command

5.3 获得命令文档

1、help——显示内置shell命令帮助文档

2、man——显示程序手册页

3、whatis——显示命令的简要描述

4、info——显示程序的info条目

5.4 alias——使用别名创建命令

alias name='string':name后无空格!string是命令集合,可用分号把多条命令写在一行。

unalias name:删除别名。

注意⚠️:在命令行创建别名alias会在会话结束后自动删除。



第六章 I/O重定向

6.1 标准输入、输出、错误

stdin/stdout/stderr

使用>/<符号进行重定向。

1、stdout重定向

> filename从文件开头输出内容写入文件,但不写入错误信息。

>> filename从文件尾部添加输出内容。

妙用:

可以直接调用>/>>来创建空文件,>也可以用来清空文件内容。

2、stderr重定向

2> filename:fd=2即为stderr。

3、stdout/stderr重定向到同个文件

&> filename:同时把stdout/stderr重定向到同个文件。

4、丢弃错误信息

2> /dev/null:/dev/null称为位桶(bit bucket)。

5、cat命令——stdin重定向

cat命令的用法:

  • 文件名做参数

1)显示文件

cat filename

2)合并文件

cat filename... > newfile:把filename等文件合并成newfile。


  • 缺少文件名参数

3)创建文本文件

cat > filename:执行后stdin会等待输入直到EOF。


  • stdin做参数

4)stdin重定向

cat < filename:filename作为输入。

6.2 管道

command1 | command2:从command1的stdout传送到command2的stdin

pipe的用法:

1)过滤器filter

ls /bin /usr | sort | less:/a /b目录下可执行程序 -> 排序 -> 查看。

2)uniq——删除文件重复行

经常与sort结合使用。

ls /bin | sort | uniq | less:删除重复行。

ls /bin | sort | uniq -d | less:反选重复行。

3)wc——打印行数、字数、字节数

wc filename:打印行数、字数、字节数。

ls /bin | wc -l:只打印行数。

4)grep——打印匹配行

ls /bin | grep string:匹配满足正则表达式string的行。

  • -i:忽略大小写;
  • -v:反选匹配不成功的行。

5)head/tail——打印文件开头/结尾

head -n 5 filename:输出前5行。

tail -n 5 filename:输出末5行。

ls /bin | tail -n 5:管道中使用tail。

tail -f /var/log/messages:持续监视日志文件,有新行添加就立刻显示(-f)。

6)tee——从stdin读取,同时输出到stdout和文件

tee:“T”,单口进,双口出。

tee filename:从管道中间某个位置输出到文件。

例子:

ls /bin | tee ls.txt | grep zip:把/bin全部目录列表存到ls.txt,stdout则最后只输出包含zip的子项。



第七章 透过shell看世界

7.1 扩展:以echo为例

echo命令:把文本参数内容打印到stdout。

1、路径名扩展—— *

echo D*:扩展为当前目录下首字母D的文件或目录。

2、波浪线扩展—— ~

echo ~:扩展为当前用户的主目录。

echo ~username:扩展为username用户的主目录。

3、算术扩展—— $((expression))

空格在算术表达式中无意义。

echo $(((5**2) * 3)):75。

4、花括号扩展—— {}

花括号里是模式信息!可以用逗号枚举、可以用两个句号表示序列。

echo a{A{1,2},B{3,4}}b:aA1b / aA2b / aB3b / aB4b。

echo Num_{1..5}:Num_1 / Num_2 / Num_3 / Num_4 / Num_5。

5、参数扩展—— $A

扩展为已定义的变量,若无定义则为空白。

echo $USER:liuwp。

echo $HAHAHA:空白输出。

6、命令替换—— $(command)

echo $(ls):等价于ls。

7.2 引用

1、双引号

加上双引号,则表示整体为一个参数

2、单引号

加上单引号,抑制所有扩展。

3、转义字符



第八章 高级键盘技巧

8.3 history——使用历史命令

1、查看历史记录

history | less:查看命令的历史记录。

假设输出如下:

1 ls

2 pwd

3 are you ok?

2、历史记录扩展

!2:使用历史记录第2行命令,即pwd。

!!:使用最近一条命令。

! are:使用最近以"are"开头的命令。

!?are:使用最近包含"are"的命令。



第九章 权限

9.1 id——查看用户id、组id

id:uid=1016(liuwp) gid=1016(liuwp) groups=1016(liuwp)

9.2 读、写、执行

访问权限的控制就是:读、写、执行。

文件类型 所有者权限 组权限 其他用户权限
-(普通) rwx rw- r–
d(目录)
l(符号链接)

1、chmod——更改文件模式

  • 八进制数字表示法:0为-,1为相应位置的符号。

例子:

6 -> 110 -> rw-

chmod 777 filename

  • 符号表示法:u/g/o/a表示对象,±=来增加删除赋予权限。

例子:

u+x:文件所有者增加执行权限。

u-rw:文件所有者删除读写权限。

2、umask——设置默认权限

umask默认值是0002,可改,但一般不需要改。

用4个八进制数表示掩码。第一位不需要看。

例子:

002,分别对u/g/o设置掩码0/0/2。其中,2 <=> 010 <=> 把w设置为-。

9.3 更改身份

1、su——更换身份

su -:超级用户,等价于su -l

2、sudo——只作用于当前命令

3、chown——更改文件所有者

4、chgrp——更改文件所属群组

9.4 passwd——更改密码



第十章 进程

10.1 进程

1、ps——查看进程信息

ps:简略输出。

ps x:所有进程。

ps aux:更详细输出所有进程。

2、top——动态查看进程信息

top:可看CPU、MEM占用情况。

10.2 控制进程

0、jobs——查看所有作业,每个作业都有编号

1、&——后台运行

process1 &:process1后台运行。

bg %1:1号作业后台运行。

2、fg——回到前台运行

fg %1:1号作业返回前台。

10.3 信号

1、kill——发送信号给进程

kill [-signal] PID

2、killall——发送信号给多个进程

killall [-signal] name

你可能感兴趣的:(Linux,linux)