shell
- shell是一个命令行解释器,实现用户与操作系统的交互
- 需要重复执行的多条命令,可以将这些命令集合起来,加入一定的控制语录,编辑成shell脚本文件,交给shell批量处理
Linux下的shell种类
- sh:Bourne Shell
- csh:c shell
bash
:Bourne Again Shell 前两个版本的集合
shell命令的格式
命令提示符的组成
username<用户名>@hostname<主机名>:direction<目录名>$
命令格式
<命令名称> <选项> <参数> 三要素间用空格隔开
- 命令名称:严格区分大小写
- 选项:用-引导(一条命令可以有多个)
- 参数:命令作用的对象或目标(可以有多个参数)
注:1多条命令写在同一行时,用分号(;)隔开 2.一条命令一行写不完,用反斜杠(\)表明该条命令位结束,下一行接着写
Linux常用命令
系统相关
用户切换 su<选项> <使用者>
体统管理命令(ps和kill)
ps 显示当前系统中由该用户运行的进程列表(也可查看cpu的占用情况)
- ps -ef 查看所有进程及其PID(进程号)、系统时间、命令详细目录、执行者等
- ps -aux 除显示-ef所有内容外,还了显示CPU及其内存占用率、进程状态
- ps -w 加宽以显示更多的信息(最多可写3个,加宽3次)
kill 输出特定的信号给指定的PID(进程号)的进程,并完成指定行为(进程挂起、进程等待、进程终止等)
- kill -l 列出所有可用的信号名称
- kill -s 根据指定信号,发送给进程
- kill -p 打印出进程号(PID),但是不发送出信号
磁盘相关命令 fdisk
- fdisk 查看磁盘分区情况、对磁盘进行分区管理 fdisk -l
- free 查看当前系统内存的使用情况
- df 查看文件系统的磁盘空间占用情况
- du 统计目录(或者文件)所占用磁盘空间的大小
磁盘挂载命令 mount
- 挂载:把分区和目录对应的过程 使用mount可以挂载不同的设备
- Linux下/mnt是专门用于挂载不同文件系统目录的,也可以在下面新建目录,挂载不同的设备文件系统
- mount<选项><设备文件类型><设备文件名><挂载点目录>
- df -h 看到的最后一个设备文件,就是插入U盘对应的设备文件
- umount 卸载
文件目录相关命令
改变工作目录 cd
列出目录的内容 ls
常见用法
- ls -l 得到当前目录下所有文件的信息
<文件类型和访问权限><文件链接数目><文件所有者><文件所属组><文件大小><修改时间><文件名称>
创建目录 mkdir
常用
- mkdir -m <权限八进制数字(3位:代表读、写、可执行)> <目录名>
- mkdir -p <路径名称> 目录中不存在的目录将自动创建 (创建多级目录)
连接并显示一个或多个文件的有关信息 cat <选项><文件名>
常见选项
- -n 由第一行开始,对所有输出的行数编号
- -b 同-n,但是空白行不编号
复制 cp
常见参数
- -a 保留链接、文件属性,并复制其子目录
- -d 复制时保留连接
-f 删除已存在的目标文件而不提示
- -i 在覆盖目标文件之前给出提示,等待用户确认 交互式复制
- -p 除复制源文件以外,同时复制修改时间和访问权限到新文件
-r 目录文件,递归复制该目录下的所有子目录和文件
移动 mv
参数:-i -r 功能同cp
删除 rm
参数 -i -r 删除目录
-f 功能同cp
修改文件所有者和组别 chown
需要root权限
参数
- -c 详细地描述每个file实际改变了哪些所有权限
- -f 显示全部错误信息
改变文件的组所有权 chgrp
需要root权限
改变文件的访问权限 chmod
-rwx rwx rwx
3个不同的用户级别:文件拥有者(u)、所属的用户组(g)、系统里的其他用户(o) a(all)表示所有这三种用户级别
3种不同的访问权限:读(r)、写(w)、运行(x)
- 对于符号连接方式的chmod:用“+”代表增加权限,用“-”代表删除权限,用等号“=”代表设置权限
如:#chmod a+rx,u+w xxx. tgz - 八进制数指定方式:将文件权限字符代表的有效位设为1
如:#chmod 777 hello. c
八进制与对应权限的关系
0 没有任何权限
1 只能执行
2 只写
3 只写和执行
4 只读
5 只读和执行
6 读和写
7 读、写和执行
在指定文件中搜索特定的内容 grep
如:# grep "hello / -r"在根目录下所有文件中搜索“hello”
在指定目录中搜索文件
常见参数:
-name 支持通配符“*”和“?”
-user 搜索文件属主为用户名的文件
-print 输出搜索结果并打印
链接 ln
软链接 ln -s
利用文件路径建立链接,修改目标文件名,链接断开;删除目标文件,新建同名文件,链接恢复
硬链接 ln
利用Linux种为每个文件分配的物理编号inode建立链接,修改目标文件名,链接依然有效;删除目标文件,新建同名文件,链接断开,因为文件的物理inode已经改变了
文件比较命令 diff
- 旧版本
#diff -c hello1.c hello2.c
在显示每个有差别行的同时还显示该行的上下3行,区别的地方用“!”标出 - 新版本
#diff -u hello1.c hello2.c
只把两个文件的不同之处列出 - 文件转化
#diff -e hello1.c hello2.c
#diff -f hello1.c hello2.c
只输出不同的行,其中字母:a表示添加,b表示删除,c表示更改
如输出 3c3