课程网址
http://study.163.com/course/courseMain.htm?courseId=232007
基本操作与获取帮助
- 按一次TAB对命令/文件名的首几个字母进行唯一自动补全(只要是唯一的即可),连按两次自动搜索以首几个字母开头的命令,但无法自动补全参数
- 按history查看命令输入的历史
- 按↑或↓切换到上一条或者下一条命令
- 对历史记录进行操作写脚本通常用!+XXXXX的命令
- ctrl+R 在历史记录中搜索命令
- 重新调用前一个命令中的参数 按ESC之后按 . 键
获取帮助
- 几乎所有命令都可以用 -h 或 --help 获取使用帮助
- man命令,把想要获取帮助的命令作为man的参数即可
- 如 man ls
- man cat
- man -k+关键字 查询所有包含该关键字的文档
- info与man类似,但提供的信息更为详细,以类似网页的形式显示
- 进入文档之后info和man都可以用 /+关键字 进行搜索
- 很多程序/命令都带有详细的文档,以TXT/PDF/HTML保存在/usr/share/doc目录中,这些文档是最详尽的
- 再没有就用Google
后台命令
- 在后台运行进程:在命令后添加一个 &
- 暂停某个程序:Ctrl+Z或者发送信号17
- 查看所有进程:jobs
- 后台一个进程:bg
- 前台一个进程:fg
文件命令
- bash即为工作终端
- 输出当前工作目录:pwd
- 以 . 开头的文件为隐藏文件,绝大多数都是配置文件
- touch创建一个空白文件或者更新已有文件的时间
- 用file查看文件类型
- cd .. 上一级目录;cd . 当前目录;cd - 返回上一个工作目录;cd ~/cd 进入用户的家目录
- mv移动与重命名
- cp复制
- rm删除(-r递归删除文件夹和其中的所有文件 -i交互式(删一个文件之前让我们按y/n)-f强制删除)
- mkdir创建一个文件夹
- rmdir不能直接删除非空文件夹 必须用(rm -r(-f) 命令删除非空文件夹)
日期时间
- date 系统时间
- hwclock 显示硬件时钟时间
- cal 日历
- uptime 查看系统运行时间
输出查看命令
- echo 用以显示输入的内容
- cat 显示文件内容
- head 显示文件的头几行 (-n 指定查看行数(默认10))
- tail显示文件的末几行 (-n 指定查看行数(默认10) -f 追踪显示文件更新(一般用于查看日志,命令不会退出而是持续显示新加入的内容))
- more 用于翻页显示文件内容(只能向下翻页)
- less 用于翻页显示文件内容(能上下翻页)
查看硬件信息
- lspci 查看PCI设备
- lsusb 查看usb设备
- lsmod 查看加载的模块(驱动)
关机/重启
- shutdown [关机/重启] 时间
- poweroff 立即关机
- reboot 立即重启
压缩/归档
归档与压缩不一样 归档是打包不包含压缩的步骤
- 用tar进行归档
- tar -cvf outfile.tar file
- tar -xvf outfile.tar
- tar -cvzf outfile.tar.gz file (归档并压缩 -z即执行gzip算法压缩)
查找
- locate keyword(需要预先建立的database,或者updatedb更新database)
- find 查找位置 查找参数
- find . -name *XXXX* (. 为当前目录查找 -name为查找条件(文件名))
- find / -name *.conf (/ 代表为根目录查找)
- find / -perm 777 (查找所有权限为777的文件)
- find / -type d (查找所有类型为d的文件)
- find . -name "a*" -exec ls -l {} ; (查找所有首字母为a的文件并作为参数传给ls -l)
- find 还有很多查找条件 例如 -user -group -ctime -size -type -name -perm 等等
VIM/VI编辑器
三种模式
- 命令模式
- 插入模式 按i进入 按ESC返回命令模式
- ex模式 按:
命令模式
- i 插入模式
- o 在当前行下创建一个新行
- dd 删除整行
- u 撤销上一个操作
- yy 将当前行内容放入缓冲区(复制当前行)
- nyy 复制n行
- p 将缓冲区的内容放到光标后(粘贴)
- / 查找关键字
- r 替换当前字符
Ex模式
- :w 保存当前修改
- :q 退出
- :q! 强制退出,不保存修改
- :x 保存并退出,相当于:wq
- :set number 显示行号
- :!系统命令 执行这个系统命令
- :sh 切换至命令行,按ctrl+D返回VIM
挂载管理
- mount 要挂载的分区(/dev/sda3) 挂载点(/mnt)
- 不带参数的mount命令显示所有已经挂载的文件系统
- -t 指定文件系统类型
- -o 制定挂载选项........
- unmount 文件系统/挂载点 (即umount /dev/sda3 == umount /mnt/
- 如果出现Device is busy报错,则表示该文件系统正在被使用,无法卸载
- 可以使用 fuser -m /mnt 查看文件系统的进程
- 可以使用 lsof /mnt 查看正在被使用的文件
- 可以通过修改配置文件/etc/fstab 来定义需要自动挂载的文件系统,fstab每一行代表一个挂载配置,有固定格式
用户与组
- 每个用户都拥有一个UserID(UID),操作系统实际使用的用户ID而非用户名
- 每个组拥有一个GroupID,每个用户属于一个主组,属于一个或多个附属组
- ID为0的为ROOT用户
- 相关文件
- /etc/passwd 保存用户信息
- /etc/shadow 保存用户密码(加密的)
- /ec/group 保存组信息
- 查看登陆用户
- whoami 显示当前用户
- who 显示有哪些用户已经登录系统
- w 显示有那些用户已经登录且在干什么
- 创建用户 useradd
- 修改用户信息 usermod (mod即为modify的缩写)
- 删除用户 userdel
- groupadd groupmod groupdel
权限机制
三种r读 w写 x执行
UGO 详细命令可以找网上的
- chown 更改文件所属用户
- chgrp 更改文件所属组
- ll命令可以查看权限和所属用户和所属组
- chmod修改文件权限 (change modify)
- chmod 模式 文件
- u/g/o分别代表用户/组/其他
- a可以代表ugo
- +/-代表加入或删除对应权限
- r/w/x代表三种权限
- 例子
- chmod u+rw testfile
- chmod g-x testfile
- chmod go+r testfile
- chmod a-x testfile
每一个终端都有一个umask属性,来确定新建的文件/文件夹的默认权限
umask使用数字权限方式表示,如:022/002
- 文件夹的默认权限是 777-umask
- 文件的默认权限是 666-umask
- 一般,普通用户的默认umask是002,root的默认umask是022
对于普通用户
- 新建文件的权限是 666 - 002 = 664
- 新建目录的权限是 777 - 002 = 775
命令umask可以查看设置umask
umask命令后可以看到有四位,第一位为特殊权限