Linux 笔记 ②

Linux   后端笔记   1年前

Bash 快捷键

Up(Down) 上(下)一条指令

Ctrl + c 终止当前进程

Ctrl + z 挂起当前进程,使用“fg”可唤醒

Ctrl + d 删除光标处的字符

Ctrl + l 清屏

Ctrl + a 移动到命令行首

Ctrl + e 移动到命令行尾

Ctrl + b 按单词后移(向左)

Ctrl + f 按单词前移(向右)

Ctrl + Shift + c 复制

Ctrl + Shift + v 粘贴

介绍几个重要的目录

  • /bin、/sbin : 链接到 /usr/bin ,存放 Linux 一些核心的二进制文件,其包含的命令可在 shell 上运行。
  • /boot : 操作系统启动时要用到的程序。
  • /dev : 包含了所有 Linux 系统中使用的外部设备。需要注意的是这里并不是存放外部设备的驱动程序,而是一个访问这些设备的端口。
  • /etc : 存放系统管理时要用到的各种配置文件和子目录。
  • /etc/rc.d : 存放 Linux 启动和关闭时要用到的脚本。
  • /home : 普通用户的主目录。
  • /lib、/lib64 : 链接到 /usr/lib ,存放系统及软件需要的动态链接共享库。
  • /mnt : 这个目录让用户可以临时挂载其他的文件系统。
  • /proc : 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
  • /root : 系统管理员的主目录。
  • /srv : 存放一些服务启动之后需要提取的数据。
  • /sys : 该目录下安装了一个文件系统 sysfs 。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建时,对应的文件和目录也在内核对象子系统中被创建。
  • /tmp : 公用的临时文件存放目录。
  • /usr : 应用程序和文件几乎都在这个目录下。
  • /usr/src : 内核源代码的存放目录。
  • /var : 存放了很多服务的日志信息。

进程管理

  • top 可以实时动态地查看系统的整体运行情况。
  • ps 用于报告当前系统的进程状态。可以搭配 kill 指令随时中断、删除不必要的程序。
  • 查看某进程的状态: $ ps -aux | grep [file] ,其中返回内容最左边的数字为进程号(PID)。
  • kill 用来删除执行中的程序或工作。
  • 删除进程某PID指定的进程: $ kill [PID]

UID 和 GID

Linux 是一个支持多用户的操作系统,每个用户都有 User ID(UID) 和 GroupID(GID) , UID 是对一个用户的单一身份标识,而 GID 则对应多个 UID 。知道某个用户的 UID 和 GID 是非常有用的,一些程序可能就需要 UID / GID 来运行。可以使用 id 命令来查看:

$ id root
uid=0(root)gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),!,6(disk),10(wheel),19(log)

$ id angiii
uid=1000(angiii)gid=1000(angiii)groups=1000(angiii),3(sys),7(lp),10(,!wheel),90(network),91(video),93(optical),95(storage),96(scanner,!),98(power),56(bumblebee)

UID 为 0 的 root 用户类似于系统管理员,它具有系统的完全访问权。我自己新建的用户 angiii ,其 UID 为 1000 ,是一个普通用户。 GID 的关系存储在 /etc/group 文件中:

$ cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,angiii
......

所有用户的信息(除了密码)都保存在 /etc/passwd 文件中,而为了安全起⻅,加密过的用户密码保存在 /etc/shadow 文件中,此文件只有 root 权限可以访问。

$ sudo cat /etc/shadow
root:$6$root$wvK.pRXFEH80GYkpiu1tEWYMOueo4tZtq7mYnldiyJBZDMe.mKwt.
    WIJnehb4bhZchL/93Oe1ok9UwxYf79yR1:17264::::::
angiii:$6$angiii$dhGT.WP91lnpG5/10GfGdj5L1fFVSoYlxwYHQn.
    llc5eKOvr7J8nqqGdVFKykMUSDNxix5Vh8zbXIapt0oPd8
    .:17264:0:99999:7:::

由于普通用户的权限比较低,这里使用 sudo 命令可以让普通用户以 root 用户的身份运行某一命令。使用 su 命令则可以切换到一个不同的用户:

$ whoami
angiii
$ su root
# whoami
root

whoami 用于打印当前有效的用户名称, shell 中普通用户以 $ 开头, root 用户以 # 开头。在输入密码后,我们已经从 angiii 用户转换到 root 用户了。




如果你不行动
最好的情况就只是现在
如果你行动了
最坏的情况也不过是现在
所以,你在担心什么?