Linux001基本命令

linux的文件目录

linux里没有盘符的概念(也就是没有windows里的cdef盘)它不分盘

  • 它有一个顶层目录叫做根目录 「/」斜杠
  • 它的目录像一棵树
1
2
3
4
5
6
7
8
9
10
-|/
-|/bin
-|/sbin
-|/usr
-|/usr/bin
-|/usr/local
-|/usr/local/include
-|/usr/lib
-|/lib
-|/...
1
2
3
4
5
cd / 
linux中 / 代表根目录

cd ~
linux中 ~代表用户名录

linux里常用的文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/home 系统默认的用户家目录(也就是你可以随意操作的目录)最常用的目录

/home 下的每一个文件夹代表的用户

/home/xxx 张三目录
/home/yyy 李四目录

/home/xxx/ 又会有一些文件夹

Desktop(桌面)
Downloads(下载相关的)


/bin 不要随意操作(可运行命令的执行环境)
/usr/bin 也不要随意操作(可运行命令的执行环境)
/usr 存放用户的应用程序
/tmp 临时性的文件(比如垃圾文件)
/dev 和设备相关的(比如你插的U盘)

linux常用命令

ls 显示当前路径下的东西

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ls -l 按行显示文件及目录(不包含隐藏文件)
ls -a 显示所有文件(包含隐藏的文件)
ls -al 按行显示所有文件及详细信息
ls -h 代表文件大小(多少k)

-l后显示形如
drwxr-xr-x 1 hjx hjx 197121 0 Apr 9 23:35 public
-rw-r--r-- 1 hjx hjx 197121 76850 Mar 23 22:23
yarn.lock

drwxr-xr-x 代表 一共十位 从第二位开始 后九个代表权限
-rw-r--r-- 代表 一共十位 从第二位开始 后九个代表权限

第一个字母代表文件
第一个字母
d 代表目录
- 代表普通文件

1 代表链接数
第一个 hjx代表当前用户
第二个 hjx代表用户组

查看 Desktop目录里的东西

1
2
# 大前提是你在 Desktop的父目录
ls Desktop

区分绝对路径和相对路径

1
2
3
4
5
6
7
8
9
10
11
绝对路径 cd /home/aaa
相对路径 cd Desktop

. 表示当前路径
.. 表示当前路径的上一层
../.. 表示当前路径的上一层的上一层
cd ..

cd - 跳转到上一次所在的路径(只在最近两次的目录直接进行直接跳转)

cd Music 等价于 cd ./Music

cd 切换目录

1
2
3
4
cd 「跳转的目录」
cd ~ 切换到当前用户目录
cd / 切换到根目录
cd .. 回到上一级目录(父目录)

pwd 显示当前路径(从头到尾)

1
pwd 当前目录的绝对路径从头到尾

clear 清屏

tab自动补全

1
2
3
4
5
# 比如你在你的用户目录   里面有 Desktop 和 Downloads

cd D 按tab 不会进行自动补全(因为存在两个开头一样的D目录)

cd De 按 tab 就能自动补全

touch创建文件

1
touch 1.txt

正则相关的操作

问题1 显示当前路径下所有的 .txt文件

1
ls *.txt

问题2 显示当前目录下有.txt .tnt .tst

1
ls *.t?t

问题3 显示 当前目录下的 .txt .tnt文件

1
ls *.t[nx]t
1
2
3
4
5
6
7
? 代表一个字符有且仅有,不能没有
[xn] 代表括号里任意一个字符
[abcdef] 可以写为 [a-f] 表示a到f的任意字符

如果有以下文件恰好叫 1a 2a 3a *a
ls *a就会有歧义 会显示 1a 2a 3a *a
ls \*a 转义 会显示 *a

重定向 >

1
2
3
4

ls > 1.txt 文件不存在就创建,清空1.txt的内容 把ls显示的内容填充到1.txt里

ls >> 1.txt 文件不存在就创建,不清空1.txt的内容 把ls的内容追加到1.txt

分屏 more

用命令查看文件的内容

1
more 1.txt  如果文件内容超过一屏显示  就按当前内容所占比例显示在下方   按空格进行查看其余内容

管道 |

一行里写多个命令通常不好使此时就需要使用管道了

1
ls -alh | more

mkdir创建目录

1
2
3
4
5
# 当前目录创建一个demo文件夹
mkdir demo

# 当前目录创建 a/b/c 嵌套目录的文件夹 需要添加 -p
mkdir -p a/b/c

tree 以目录树的方式显示目录结构

rmdir删除目录

1
2
3
rmdir demo

# 无法删除嵌套目录 如 demo/a/b

rm 删除文件(慎用)

1
2
3
4
5
6
7
8
rm / 千万不要用,你就完蛋了从根目录开始删
rm / 千万不要用,你就完蛋了从根目录开始删
rm / 千万不要用,你就完蛋了从根目录开始删

rm 文件名
rm -f 强制删除,也就是不提示(你确认删除吗?)
rm -r 目录 递归的删除目录(每删除一个文件问你一次 你确认删除吗?)
rm -rf 递归的删除目录(没有任何提示)