What & How & Why

Bash & Shell

常用的 bash 命令


##ls
# 查看当前目录下所有的文件夹和文件
ls
# 查看所有文件夹和文件,包括隐藏
ls -a
# 查看详细信息
ls -l
# 查看文件,按上次修改时间排列
ls -t

##pwd
# 打印当前目录的路径
pwd

##cd
# 切换到指定文件夹
cd <folder name>
cd <path>
# 返回上级目录
cd ..

##mkdir
#创建文件夹
mkdir <folder name>

##touch
#创建文件
touch <file name>

ls -l 的详细信息解释

ls -l 之后会出现如下的详细信息:

drwxr-xr-x 5  cc  eng  4096 Jun 24 16:51  action
具体的解释见下图:

access right

背景知识:Linux 中:

  • premission group 分为三类: owner, group, all users
  • premission type 也分为三类:read, write, excute

access right 是详细信息中的 10 位字母,结构如下:

  • 头一位字母是 special permission flag
  • 2-4 位代表了 owner 的权限
  • 5-7 代表了 group 的权限
  • 8-10 代表了 all user 的权限

权限中,read 权限标记为 r, write 为 w, excute 为 x。因此,上面例子中的 2-4 为字母为 rwx,意思是 owner 拥有读,写,执行文件的权限。

Viewing and Changing File System

Manipulation

  • cat + file_name:读取文件中的内容
  • cp + file_name + path:拷贝文件到目标位置
  • cp + file_name + file_name + path:拷贝多个文件到目标位置
  • cp * path :wildcard 通配符拷贝
  • mv file_name + path 移动文件到指定位置
  • mv file file + path 移动多个文件到指定位置
  • mv file rename 重命名文件并移动到指定位置
  • rm -f filename 删除文件
  • rm -r folder 删除文件夹以及其目录底下所有文件

REDIRECTION

  • echo + string 打印 str
  • > file name (重定向)输出文件
  • cat + > 覆盖文件
  • “ » ” append 文件
  • “ < ” 输入文件到左边
  • | 接受左边的 Input 输出到右边的 output
  • wc : 输出 lines | words | character 的数量
  • sort 接受一个 Input, 对文件内容进行 alphabet 排序
  • uniq 对相邻的两个相同的内容消除掉一个
  • grep global regular expression print, 按 pattern 搜索。默认区分大小写, -i 取消区分大小写, -R 搜索所有匹配的关键字文件,-Rl 搜索匹配的文件名
  • sed 查找并且替换:s/snow/rain/g s 代表 substitution 替换, 查找的关键词是 snow, 替换的关键词是 rain, g 代表 global,意思是替换所有。如果只需要在终端打印的时候替换,使用 -i

Environment

Nano 的操作

Bash profile
  • ~ 代表 Home 目录
  • . 代表影藏文件
  • 重要的文件 ~/.bash_profile nano ~/.bash_profile 修改该文件, 在里面写 echo 会在 terminal 打开的时候打印
  • 激活 profile source ~/.bash_profile 立刻激活,不用关闭终端
  • 类型 alias : 可以配置快捷键
    • alias pd = “pwd” pd 会具有 pwd 的功能
Environment Variables