[linux] Shell常用命令

1 基础知识

1.1 基本概念

  • 挂载 Mount:将硬盘存储空间指向操作系统目录的操作,通过该目录即可访问存储空间
  • 内建命令 / 外建命令:Shell的一部分,运行即加载,不需创建子进程,执行速度快 / 实用程序命令,需要时调用,速度较
  • 程序 Program / 进程 Process / 线程 thread:进程(动态)是程序(静态)的一次活动;进程 / 线程的关系相当于:工厂里的车间 / 车间里的工人。每个CPU同一时刻只有一个进程在进行,一个进程可以由CPU调度、分配到多个线程执行,线程间共享进程的所有资源
  • 变量的作用域:即变量的有效范围(比如一个函数中、一个源文件中或者全局范围),在该范围内只能有一个同名变量。一旦离开则该变量无效。
  • 环境变量:环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。环境变量PATH中保存了linux命令对应的可执行文件的路径。
  • Shell:UNIX/Linux 操作系统下用户交互的界面(Ubuntu下为GNOME),同时也是控制系统的脚本语言(Ubuntu 下为 bash)。
  • 标准输出 stdout:程序在默认情况下输出结果,通常指向显示器。
  • 输出重定向:把程序的输出转移到另一个地方的操作。
  • 管道:将前面每一个进程的输出直接作为下一个进程的输入。通常用于进程间的通信(也可通过socket进行网络通信)。

1.2 常用缩写

  • FHS(Filesystem Hirearchy Standard) 文件系统层次结构标准
  • APT(Advanced Package Tool)高级软件包工具RE(Regular Expression)正则表达式PCRE(Perl Compatible Regular Expression)Prel语言兼容正则表达式

1.3 常用命令速查

  • cat:查看文本内容
  • cd:切换目录
  • mkdir:创建目录
  • cp:复制文件到指定目录
  • dir:列出目录内容
  • export:将自定义变量导出为环境变量
  • file:文件类型
  • find:在指定范围内查找文件
  • grep:查找文件内容
  • join:合并(相同字段)
  • less:阅读文本摘要
  • ls:查看文件
  • man:帮助文件
  • mv:移动文件
  • rm:删除
  • sort:排序
  • touch:创建文件
  • tr:删除
  • paste:合并
  • pwd:当前目录

1.4 快捷键

  • ctrl+c:中止命令
  • ctrl+d:退出终端
  • ctrl+a:移动光标到行头
  • ctrl+e:移动光标到行末
  • ctrl+k:删除从光标位置到行末
  • Tab:补全命令/文件路经

2 命令实现

2.1 用户

# 创建新用户lilei
$ sudo adduser lilei

# 切换登陆
$ su -l lilei

# 查看用户所在用户组
$ groups lilei

# 退出登陆(或ctrl+D)
$ exit

# 删除用户
$ sudo deluser lile

2.2 文件

# 更新与安装
$ sudo apt-get update $ sudo apt-get install tree

# 绝对路径与相对路径
$ cd /usr/local/bin
$ cd ../../usr/local/bin

# 上级目录
$ cd ..

# 查看硬盘使用情况
$ df -h

# 为文件添加内容
$ echo "echo \"

# 在当前文件夹中查找包含“ay”字符串的文件
$ ls | grep ay

# 在文件day中查找包含un的行
$ grep un day

# 创建压缩文件
$ zip -r -q -o homework.zip /home/homework


# 删除“hello world”中的“o”
$ echo 'hello world' | tr -d 'o'

# 将“hello”中的ll,去重为一个l
$ echo 'hello' | tr -s 'l'

#将输入文本转换成大写
$ echo 'hello world' | tr '[:upper:]'

# 查看大小
$ du -h homework.zip
# 解压缩文件
$ unzip homework.zip
$ unzip -O GBK 中文压缩文件.zip

# 下载文件
$ wget http://...

# 获取帮助
$ man pwd

# 查看文件所有权
$ ls -l homework

# 修改所有权(属主xiaoming,属组classmate)
$ sudo chown xiaoming:classmate homework

#改变文件权限(增加属主对文件的执行权限)
$ chomd u+x homework

2.3 变量

# 创建变量
$ declare tmp

# 读取变量的值(注意变量前加"$")
$ echo $tmp

 

参考

别出心裁的linux命令学习法

https://www.cnblogs.com/rocedu/p/4902411.html

cat 命令使用方法

https://www.cnblogs.com/xuxiuxiu/p/6945424.html

tldr

https://blog.csdn.net/tcliuwenwen/article/details/109548043

https://www.cnblogs.com/zi-wang/p/12334862.html

echo

https://www.zsythink.net/archives/96

重定向

https://blog.csdn.net/qq_32224047/article/details/107345350

https://www.runoob.com/linux/linux-shell-io-redirections.html

posted @ 2018-05-06 20:48  cxc1357  阅读(152)  评论(0编辑  收藏  举报