shell:命令行解释器,负责应用内核硬件的交互
| 硬件层外有内核,内核外有shell,shell是内核的一个外在保护层,要通过操作shell来操作内核,再操作硬件 |
| shell是实现硬件及内核与应用层之间的交互的,shell将命令集中起来,统一传输给内核,内核再操作硬件,硬件反馈给shell,最后shell反馈给应用 |
shell的命令格式 |
![]() 要是一次输入多条命令,需要再命令间加“;” 要是需要换行来输入命令,则再末尾加“/”,再敲回车换行 |
shell代码补全 | 用于命令补全:按两下“TAB” 用于文件补全: 按一下“TAB” |
shell历史命令 | 敲history查看历史命令(后面可以加数字,精准查看),也可以按“上”“下”键查看 |
| 历史命令容量默认为“500”条,可以用HISTORY=“数”来设置容量,用echo $HISTORY来查看容量 |
shell的通配符 |
![]()
|
shell管道 | 管道“|”是命令之间的管道,上一个命令的输出是下一个命令的输入,用来联合使用完成一些单命令不可完成的动作 |
| 如: " ls . | wc -w " 作用是查看当前目录的文件个数 |
shell的输入输出重定向 |
![]() 上面这个主要看一下实例 |
shell的命令置换 | 命令置换符:“ ` ` ”为ESC下的点。格式: 命令1 ` 命令2 ` 将命令2的输出作为命令1的参数,“命令输出置换命令参数” |
shell的系统维护命令 | man:man “命令名” 用来查看命令的用法,版本,解释,bug,举例等等信息 用法 : man ls : 查看“ls”命令的信息 |
| passwd: 用来修改用户密码, 如 sudo passwd 修改密码。(注意要用root权限) |
| Su : 用来临时切换用户,一般是切换到超级用户,用法: su - “用户名”(没加用户名就切换到超级用户) 可以输入“exit”退出 “-c表示一次机会” |
| echo:“打印到控制台”相当于print,echo “hello”: 打印hello 注意: 打印内容用“”包起来就是原型打印, 不加“”就是默认打印 |
| date:“设置和查看时间” 用法: date (查看时间) date -s "hh:ss:mm" (设置时间) |
| df:“查看系统在磁盘中的使用情况” du:“查看磁盘空间使用情况” clear:“清除当前命令行内容”相当于Ctrl + L |
Linux的用户管理 | /etc/passwd :该文件记录了用户的信息,/etc/group : 该文件记录了用户的组 |
| adduser:“添加用户” 用法: adduser “用户名” (要用超级权限来操作) 用户的信息要一一填写 |
| usermod: 用来修改用户的信息: ![]()
|
| deluser:“删除目录”用法 : deluser “用户名” deluser --remove-home “用户名”(删除所有用户资料) |
| addgroup:“添加组” delgroup : “删除组” |
Linus的进程管理 | ps:”查看进程“ 一般是: ps -aux 或者是 ps -elf (两个都行) 描述的是进程的一系列信息 也可以直接进入进程文件来查看: cd /proc/ cd "PID" (进行单独查看) |
| 进程状态标志: ![]() |
| top:“监视进程”“实时查看进程”(输入“Q”退出) |
| kill: “发送信号,改变进程状态” 用法: kill -9 “进程号PID” (杀死进程)这个信号有很多,“9”是杀死 |
Linux的文件系统 | 结构采用“院-系-班”的结构。和Windows不同没有设置分盘符,就一个盘,全部都是通过文件夹来区分的 |
| Linux的文件存储就像一颗倒置的树,有一个个分支,分支就是文件夹 |
| 在Linux中“一切皆文件”不管是硬件,驱动,USB等等东西,都是视为文件 比如:外部插了一个USB,在Windows中就是放在了F盘,在Linux中就加载到了“/media/disk”目录下 |
| Linux中所有文件都只有一个起点:“/”也就是根目录,然后根据文件的作用类型,分别放在根目录的一个一个分支上,不论文件是实际储存位置在哪,无论是硬盘,驱动,甚至是网络终端 |
| “/”: Linux的根目录 “/bin”: 存放最常用的二进制文件 “/boot” : 存放内核和系统启动文件 |
| “/dev” : 存放所有设备文件 “/etc” : 存放所有配置文件 “/home” : 用户主目录的默认位置 |
| “/lib” : 存放共享的库文件 “/proc” : 存放的是进程文件(通过PID来识别) |
| “/src” : 系统目录,存放硬件信息文件 “/tmp” : 存放用户和程序的临时文件。 |
| 绝对路径: 以“/”根目录为起点的路径"/urc/a/b", 相对路径: 相对于当前目录的路径 "/a/b" |
Linux的文件命令 | File + “文件名” :输出文件的类型 |
| ln:“用来创建文件的链接文件”语法: ln + 文件名 +“链接名”: “创建一个硬链接“ |
| In + -s + 文件名 + “链接名” :“创建一个软连接” |
| 硬链接可以看作是将文件复制了一份,无论原文件发生了什么硬链接的内容都不会变 |
| 软链接可以看作是原文件的一个快捷方式,只要原文件发生了变化,软链接就会失效(自身名字改变也会) |
Linux文件的压缩和归档 | 文件的压缩是将文件以一种更节约磁盘空间的格式存放起来,压缩后的文件要是想使用就得先解压 |
| 压缩工具: zip、gzip、bzip2 |
| zip的特点是生成一个目标文件的压缩包,gzip和bzip2的特点是将文件变成一个压缩包 |
| 语法: zip +“压缩包名”+“文件名”(压缩) unzip + “压缩包名” (解压) |
| gzip/bzip2 + “文件名” (压缩) gunzip/bunzip2 + "压缩包名" (解压) |
Linux的打包工具tar |
![]() tar工具是用来方便将多个文件或目录进行打包和压缩的工具。 一般语法: tar + -cf + "压缩包名.tar" “目录名或文件名” (将文件或目录压缩打包为“.tar”文件) tar + -czf + "压缩包名.tar.gz" “目录名或文件名” (将文件或目录压缩打包为“.gz”文件) tar + -cjf + "压缩包名.tar.bz" “目录名或文件名” (将文件或目录压缩打包为“.bz”文件) tar + -tvf + 压缩包名 (显示归档文件信息) tar + -xvzf + “压缩包名.tar.gz” (将“.bz”文件解压到当前目录下) tar + -xvjf + “压缩包名.tar.bz” (将“.gz”文件解压到当前目录下) |