Bootstrap

Linux笔记(一):基本命令

前言: 每个知识都是一个无底洞,切记被淹没在知识的海洋里,找不到上岸的路!

我学习linux不过是想弥补下前端的发布流程的空缺而已.

No鼠标,该如何操控文件?

首先在Linux中有个重要的概念,一切文件(文件夹是一种特殊的文件)

如果你是一名windows用户善用鼠标操作的话,也许是个挑战。

但是你的四大基本需求我想是不会变的。

查看,新增,修改,删除

  • 查看

# 查看当前工作目录 pring working directory pwd
pwd

# 查看工作目录的内容 list show ls
ls
ls -a # 查看隐藏文件 all
ls -l # 长格式显示内容 long
ls -r # 逆序显示 reverse(逆序)
ls -t # 按时间顺序显示 time
ls -R # 递归显示所有文件 recursive(递归)
## 参数是可以合并使用,例如:
ls -alrtR

# 控制台翻滚查看
## shift+PgUp      向前翻看,一般翻13页左右。
## shift+PgDown   向后翻看,一般翻13页左右。
  • 新增

# 创建文件夹 make directory mkdir
mkdir a
mkdir a b c # 创建多个文件夹
mkdir -p a/b/c/d # 逐层创建问个文件夹

# 创建文件 
touch a.js
touch a.py b.js c.txt
  • 删除

# 删除文件夹 remove directory rmdir
rmdir a
rmdir a b c # 删除多个文件夹

# 删除文件 remove rm
rm test.js # 删除文件
rm -r test1.js # 删除文件
rm -r a # 删除a文件夹以及内部的所有文件
rm -f test2.js # 强制删除文件(不进行询问) force
  • 修改

# 移动 move mv
mv j.js a.js # 将j.js 改名为 a.js
mv *.js e/ # 将所有带有.js文件的 移动到 e/目录下面

# 复制 copy cp
cp test.js e/ # 将test.js 文件复制到 e/目录下面去
cp test.js e/mod.js # 将test.js 文件复制到 e/目录中去 然后改名称为 mod.js
cp fold e/ -r # 复制文件夹里所有的内容包括该文件夹 至 e/目录中去
  • 【批量操作】通配符:因为没有鼠标所以你只能通过正则表示这个技能进行批量操作

  • * 匹配任意字符

  • ? 匹配1个字符

  • [XYZ] 匹配这些内容

  • [A-Z] 匹配该范围

  • [!A] 或 [^a] 不匹配

如何查看文件内容

  • cat:⽂文本内容显示到终端

  • head:查看⽂文件开头

  • tail:查看⽂文件末尾

  • 常⽤用参数-f⽂文件内容更更新后,显示信息同步更更新

  • wx:统计⽂文件内容信息

打包和压缩、解压

  • 打包

tar cf etc-backup.tar /etc -v
# c 打包
# f 指定操作类型为⽂文件
# -v 显示打包的过程
# tar 这个命令的option不需要加-,而且顺序和之前的不同
  • 压缩

# 可使用 gzip bzip2 进行打包
# 也可以是用tar命令(集成的压缩)
# -z gzip 格式压缩和解压缩
# -j bzip2 格式压缩和解压缩

tar czf etc-backup.tar.gz /etc

tar cjf etc-backup.tar.bz2 /etc
  • 解压

# 打包的逆操作
# x解压缩
tar xf etc-backup.tar -C a/ # -C 指定目录否则解压缩至当前目录下

tar jxf etc-backup.tar.bzip2

tar zxf etc-backup.tar.gizp

tips:

  • .tar.gz ---> .tgz

  • .tar.bz2 ---> .tbz2

总结:

  • 一切皆文件

  • 操作无非 增/删/改/查

  • 批量操作用正则来解决

  • 打包压缩tar/gizp/bzip2

参考: