1

历史记录

  • Bash会保存你输入命令的历史记录,可以通过上下按键或者history命令查看。

  • 通过上下按键查看之前的命令。

  • 通过history命令查看历史记录。

  • 可以通过Ctrl+r来在历史记录中搜索命令。

命令行通配符

 * 匹配零个或多个
? 匹配任意一个字符
[0-9] 匹配一个数字范围
[abc] 匹配列表里任意字符
[^abc] 匹配列表以外字符输入代码

切换用户

在CLI中,通过su命令切换用户

  • su 切换到root用户但不使用新的运行环境

  • su - 切换到root用户并使用一个新的运行环境

  • sudo 使用管理员用户身份运行命令

显示当前用户信息

  • id

修改当前用户密码

  • passwd

BASH作业管理

在后台运行进程

  • 在命令后添加一个 &

暂停某个程序

  • 通过Ctrl+z或者发送信号17

管理后台作业

  • jobs(查看当前所有后台作业)

  • bg(控制进程继续在后台执行)

  • fg(将后台作业拉回前台)

当前工作目录

  • 每一个Shell或系统进程都有一个当前工作目录

  • 使用pwd命令可以显示当前的工作目录

列出目录内容

”ls”命令用来列出目录内容
相关参数:

  • ls –a 显示所有文件(包括隐藏文件)

  • ls –l 显示详细信息

  • ls –R 递归显示子目录结构

  • ls –ld 显示目录和链接信息

绝对路径与相对路径

  • 绝对路径:以 ”/ ”开头,递归每级目录直到目标的路径不受当前所在工作目录的影响.

  • 相对路径:以当前目录为起点,到达目标的路径受当前所在目录影响.

”cd”命令可以用来切换目录

  • 上一级目录 ..

  • 当前目录 .

  • 用户家目录 ~

  • 上一个工作目录 -

复制文件、目录

使用cp命令复制文件或目录

  • cp 源文件(目录) 目标文件(目录)

常见参数:

  • -r 递归复制整个目录树

  • -v 显示详细信息(显示复制过程)

移动、重命名文件或目录

通过mv命令移动或者重命名文件或目录

  • mv 文件 目标目录

如果指定文件名,则可以重命名文件

创建、删除文件

  • 通过touch命令可以创建一个空文件或更新文件

  • 通过rm命令可以删除文件或目录

常用参数:

  • -i 交互式(删除每一文件前会提示)

  • -r 递归的删除包括目录中的所有内容

  • -f 强制删除,没有警告提示(使用时需十分谨慎)

创建、删除目录

  • 通过mkdir命令创建一个目录

  • 通过rmdir命令删除一个空目录

  • 通过rm –r (-f) 命令删除一个非空目录

输出、查看命令

  • 命令echo用以显示输入的内容

  • 命令cat用以显示文件内容

  • 命令head用以显示文件的头几行(默认10行) -n 指定显示的行数

  • 命令tail用以显示文件的末尾几行(默认10行) -n 指定显示的行数
    -f 追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的内容)

  • 命令more用于翻页显示文件内容(只能向下翻页)

  • 命令less用于翻页显示文件内容(带上下翻页)

查看硬件信息

命令lspci用以查看pci设备

  • -v 查看详细信息

命令lsusb用以查看usb设备

  • -v 查看详细信息

命令lsmod用以查看加载的模块(驱动)

free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况

挂载操作

  • 磁盘或分区创建好文件系统后,需要挂载到一个目录才能使用。

  • Windows或Mac系统会进行自动挂载,一旦创建好文件系统后就会自动挂载到系统上,windows上称之为C盘、D盘等。

  • Linux需要手工进行挂载操作或配置系统进行自动挂载

  • mount /dev/sda3(要挂载的分区) /mnt(挂载点)

命令umount用来卸载已挂载的文件系统,相当于windows中的弹出。

  • umount 文件系统/挂载点

  • umount /dev/sda3 == umount /mnt

如果出现device is budy报错,则表示该文件系统正在被使用,无法卸载,可以通过以下命令查看使用文件的进程:

  • fuser –m /mnt

也可使用命令lsof查看正在被使用的文件:

  • lsof /mnt

配置文件/etc/fstab用来定义需要自动挂载的文件系统,fstab中每一行代表一个挂载配置,格式如下:

clipboard.png

  • 需要挂载的设备也可以用LABEL进行识别,使用LABEL=LINUXCAST取代/dev/sda3

  • mount –a命令会挂载所有fstab定义的自动挂载项

用户、组

  • 当我们使用Linux 时,需要以一个用户的身份登录,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用那些资源。

  • 组用来方便组织管理用户。

  • 每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名。

  • 每个用户属于一个主组,属于一个或多个附属组。

  • 每个组拥有一个GroupID。

  • 每个进程以一个用户身份运行,并受该用户可访问的资源限制。

  • 每个可登录用户拥有一个指定的shell。

用户

用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
用户分为以下三种:

  • root用户 (ID为0的用户为root用户)

  • 系统用户 (1 – 499 非强制,而是惯例)

  • 普通用户 (500以上)

系统中的文件都有一个所属用户及所属组。

  • 使用id命令可以显示当前用户的信息。

  • 使用passwd命令可以修改当前用户密码。

查看登录的用户

  • 命令whoami显示当前用户

  • 命令who显示有哪些用户已经登录系统

  • 命令w显示有哪些用户已经登录并且在干什么

创建一个用户

命令useradd用于创建一个新用户

  • useradd rsndm

这个命令会执行以下操作:

  • 在/etc/passwd中添加用户信息

  • 如果使用passwd命令创建密码,则将密码加密保存在/etc/shadow中

  • 为用户建立一个新的家目录/home/rsndm

  • 将/etc/skel中的文件复制到用户的家目录中

  • 建立一个与用户用户名相同的组,新建用户默认属于这个同名组

命令useradd支持以下参数

  • -d 家目录

  • -s 登录shell

  • -u userid

  • -g 主组

  • -G 附属组(最多31个,用”,”分割)

修改用户信息

命令usermod用来修改用户信息

  • usermod 参数 username

命令usermod支持以下参数:

  • -l 新用户名

  • -u 新userid

  • -d 用户家目录位置

  • -g 用户所属主组

  • -G 用户所属附属组

  • -L 锁定用户使其不能登录

  • -U 解除锁定

删除用户

命令userdel用以删除指定用户:

  • userdel rsndm (保留用户的家目录)

  • userdel –r rsndm (同时删除用户的家目录)

几乎所有操作系统都有组的概念,通过组,可以更加方便的归类、管理用户。一般来讲,使用部门、职能或地理区域的分类方式来创建使用组。

  • 每个组都有一个组ID

  • 组信息保存在/etc/group中

  • 每个用户拥有一个主组,同时还可以拥有最多31个附属组

创建、修改、删除组

命令groupadd用以创建组:

  • groupadd linuxcast

命令groupmod用以修改组信息

  • groupmod –n newname oldname 修改组名

  • groupmod –g newGid oldGid 修改组ID

命令groupdel用以删除组:

  • groupdel linuxcast

权限

  • 权限是操作系统用来限制对资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定文件进行什么样的操作。

  • 每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限大,该进程拥有的权限就大。

Linux权限基于UGO模型进行控制:

  • U代表User, G该表Group, O代表Other

  • 每一个文件的权限基于UGO进行设置

  • 权限三个一组(rwx),对应UGO分别设置

  • 每一个文件拥有一个所属用户和所属组,对应UG,不属于该文件所属用户或所属组的使用O权限

命令 ls –l可以参看当前目录下文件的详细信息:

clipboard.png

修改文件所属用户、组

命令chown用以改变文件的所属用户:

  • chown rsndm linuxcast.net

  • -R 参数递归的修改目录下的所有文件的所属用户

命令chgrp用以改变文件的所属组:

  • chgrp rsndm linuxcast.net

  • -R 参数递归的修改目录下的所有文件的所属组

修改权限

命令chmod用以修改文件的权限:

  • chmod 模式 文件

模式为如下格式:

  • u、g、o分别代表用户、组和其他

  • a可以代指ugo

  • +、-代表加入或删除对应权限

  • r、w、x代表三种权限

模式示例:

  • chmod u+rw linuxcast.net

  • chmod g-x linuxcast.net

  • chmod go+r linuxcast.net

  • chmod a-x linuxcast.net

命令chmod也支持以数字方式修改权限,三个权限分别由三个数字表示:

  • -r = 4 (2^2)

  • -w = 2 (2^1)

  • -o = 1 (2^0)

使用数字表示权限时,每组权限分别为对应数字之和:

  • rw- = 4+2+0 = 6

  • rwx = 4+2+1 = 7

  • r-x = 4+0+1 = 5

所以,使用数字表示ugo权限使用如下方式表示:

  • chmod 660 linuxcast.net == rw-rw----

  • chmod 775 linuxcast.net == rwxrwxr-x


燃烧你的梦
238 声望17 粉丝

« 上一篇
外观模式
下一篇 »
享元模式