Linux基本知识——总结

系统调用层、内核
内核:多任务、硬件管理

桌面环境

X 窗口系统:工具包及架构协议
xorg是实现了 X 协议规范的一个提供图形用户界面服务的服务器,就像实现了 http 协议提供 web 服务的 Apache。
只有服务器也是不能实现一个完整的桌面环境的,还需要一个客户端,我们称为 X Client:KDE,GNOME,XFCE,LXDE,


终端

终端模拟器:接受用户的输入和显示输出。xfce 桌面环境自带的 xfce-terminal。
终端(Terminal)和控制台(Console)区别:
终端对应:/dev/tty设备

Shell

Shell命名来源:隐藏了操作系统底层细节。类似cmd,“提供给使用者使用界面”的命令解析器
图形界面:图形Shell
核:内核

Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),
实验楼使用的分别是zsh 和 xfce。
Shell 
  • 用户交互的界面
  • 控制系统的脚本语言
Ctrl+z将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a将光标移至输入行头,相当于Home
Ctrl+e将光标移至输入行末,相当于End
Ctrl+k删除从光标所在位置到行末
Alt+Backspace向前删除一个单词

通配符

字符含义
*匹配 0 或多个字符
?匹配任意一个字符
[list]匹配 list 中的任意单一字符
[!list]匹配 除list 中的任意单一字符以外的字符
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...}匹配 sring1 或 string2 (或更多)其一字符串
{c1..c2}匹配 c1-c2 中全部字符 如{1..10}
man:
/<你要搜索的关键字>,查找到后
  • 使用n键切换到下一个关键字所在处
  • shift+n为上一个关键字所在处
$ ls --help

用户管理

whoami
pts 表示伪终端
创建用户:必须在sudo组里面。
增加用户:$ sudo adduser lilei

用户组

  • 查看用户组:groups shiyanlou,冒号之前表示用户,后面表示该用户所属的用户组
  • 查看是否属于sudo组:cat /etc/group | grep -E "shiyanlou"
  • 加入sudo组:执行sudo usermod -G sudo lilei 
  • 删除用户:sudo deluser lilei --remove-home

文件权限


链接到该文件所在的 inode 结点的文件名数目 
改变所有者:sudo chown shiyanlou iphone6

1 2 4 
  1. $ chmod go-rw iphone6
'g''o'还有'u',分别表示group,others,user,'+','-' 就分别表示增加和去掉相应的权限。

目录结构

 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。


二层规范:针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。

路径

rm -f test
  1. $ touch file{1..5}.txt//创建5个文件
  2. $ rename 's/\.txt/\.c/' *.txt//把*.txt变为*.c
  3. $ rename 'y/a-z/A-Z/' *.c//把小写改为大写。
$ cat -n passwd显示行号

环境变量

  • 自定义环境变量
  • 导出的环境变量

  • set:显示所有环境变量
  • env:显示与当前用户相关的环境变量
  • export:自定义变量导出为环境变量。
在当前进程的子进程是否有效,有效则为环境变量,否则不是


执行命令是从$ PATH=$PATH:/home/shiyanlou/mybin来进行搜索的。
  1. echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
${变量名%%匹配字串}    从尾向前开始匹配,删除符合匹配字串的最长数据

使用source命令来让其立即生效,如:source .zshrc或者. ./.zshrc

搜索文件

whereis :可以搜索-b ,-m , -s 
使用前先updatedb
locate:如果想只统计数目可以加上-c参数,-i参数可以忽略大小写进行查找,

列出 home 目录中,当天(24 小时之内)有改动的文件:
  1. $ find ~ -mtime 0

列出用户家目录下比Code文件夹新的文件:
  1. $ find ~ -newer /home/shiyanlou/Code

文件打包


  1. zip -r -q -o shiyanlou.zip /home/shiyanlou
-r:递归
-q:安静
-o:输出的名称
-x:排除上一次创建的

  1. rar a shiyanlou.rar .


-c:压缩包
-f:文件名
-v:可视化
















也可以参见简书主页:https://www.jianshu.com/u/482f183ec380
原文地址:https://www.cnblogs.com/dy2903/p/7229314.html