命令与参数必须以空格隔开,linux 命令区分大小写
进入root 权限 :
1 sudo -s
2 su
3 su root
推出root权限:
exit
who命令:查看当前在线用户
baba@wp:/$ who
baba :0 2022-02-21 15:01 (:0)
whoami:查看我是哪个用户
baba@wp:/$ whoami
baba
pwd :查看我在哪个文件夹位置
baba@wp:/$ pwd
/
baba@wp:/$ cd /home
baba@wp:/home$ pwd
/home
uname -a :查看linux内核信息
baba@wp:/home$ uname -a
Linux wp 5.13.0-30-generic #33~20.04.1-Ubuntu SMP Mon Feb 7 14:25:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
echo: 打印输出到终端
baba@wp:/home$ echo hello
hello
clear :清屏
history: 查看运行过的命令
baba@wp:/home$ history
1 free
2 yum install java
3 apt install java
4 sudo apt install java
5 java -versio
6 sudo apt install jdk
history -c: 清除历史运行命令
type:查看命令的类型(type + 命令)
baba@wp:/home$ type cd
cd 是 shell 内建
baba@wp:/home$ type echo
echo 是 shell 内建
baba@wp:/home$ type who
who 已被录入哈希表 (/usr/bin/who)
命令的帮助文档
内置命令 : help + 命令名
外部命令: man + 命令名
whereis 命令:找到文件所在位置
file:查看文件的类型
baba@wp:/home$ whereis echo
echo: /usr/bin/echo /usr/share/man/man1/echo.1.gz
baba@wp:/home$ file /usr/bin/echo
/usr/bin/echo: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=714b557112010bbcd04b0e5e6efc1b106166733c, for GNU/Linux 3.2.0, stripped
常见特殊符号
`.` :指向当前目录
`. .`:指向当前目录的上级目录
baba@wp:~$ pwd
/home/baba
baba@wp:~$ cd ./桌面
baba@wp:~/桌面$ pwd
/home/baba/桌面
baba@wp:~/桌面$ cd ..
baba@wp:~$ pwd
/home/baba
’ $ ': 说明后面是一个变量
baba@wp:~$ name=liqingzhao
baba@wp:~$ echo name
name
baba@wp:~$ echo $name
liqingzhao
`*` : 通配符
baba@wp:~/桌面$ ll -al
总用量 28
drwxr-xr-x 5 baba baba 4096 2月 20 21:42 ./
drwxr-xr-x 17 baba baba 4096 2月 21 13:32 ../
-rwxrwxr-x 1 baba baba 236 2月 20 21:42 chmode.sh*
drwxrwxr-x 3 baba baba 4096 2月 20 12:47 DataStructure/
drwxrwxr-x 2 baba baba 4096 2月 20 11:58 helloworld/
drwxrwxr-x 2 baba baba 4096 2月 20 22:38 Shell/
-rwxrwxr-x 1 baba baba 93 2月 20 14:03 show.sh*
baba@wp:~/桌面$ pwd
/home/baba/桌面
baba@wp:~/桌面$ ll -al ./c*
-rwxrwxr-x 1 baba baba 236 2月 20 21:42 ./chmode.sh*
baba@wp:~/桌面$ ll -al ./*h
-rwxrwxr-x 1 baba baba 236 2月 20 21:42 ./chmode.sh*
rwxrwxr-x 1 baba baba 93 2月 20 14:03 ./show.sh*
`~`: 家目录
当我们按cd 后面不加任何字符时,就会来到 ` ~ ` 目录,代表用户的家目录,对于root用户来说就是/root 目录,对于普通用户来说就是 /home/用户名 目录。
baba@wp:~/桌面$ cd
baba@wp:~$
baba@wp:~$ pwd
/home/baba
root 用户:
baba@wp:~$ su
密码:
root@wp:/home/baba# cd
root@wp:~# pwd
/root
` / `:整个linux文件的根目录
` - `: 命令的参数
如果是单词就加两个杠
baba@wp:~$ ls --color=auto
公共的 模板 视频 图片 文档 下载 音乐 桌面 snap
如果是字母或者简写就加一个杠
baba@wp:~$ ls -a
视频 音乐 .bashrc .local snap
linux 文件系统的命令
` ll ` 或者 ` ls ` :显示指定目录下的所有文件
baba@wp:~$ type ll
ll 是“ls -alF”的别名
显示文件的类型
- :普通文件
d:文件夹
l:软连接 (快捷方式)
创建文件夹命令 mkdir
mkdir + 文件夹名 :在当前目录下创建文件夹
baba@wp:~/桌面$ mkdir aaa
baba@wp:~/桌面$ ll
总用量 32
drwxr-xr-x 6 baba baba 4096 2月 21 16:34 ./
drwxr-xr-x 17 baba baba 4096 2月 21 13:32 ../
drwxrwxr-x 2 baba baba 4096 2月 21 16:34 aaa/
mkdir + 文件夹1/文件夹2
若不存在文件夹1,则不能成功;否则将在文件夹1下创建文件夹2。
mkdir -p 命令:无条件创建文件夹!!
mkdir -p a/b/c :
baba@wp:~/桌面$ mkdir -p a/b/c
baba@wp:~/桌面$ ll
总用量 36
drwxr-xr-x 7 baba baba 4096 2月 21 16:35 ./
drwxr-xr-x 17 baba baba 4096 2月 21 13:32 ../
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 a/
baba@wp:~/桌面$ cd a
baba@wp:~/桌面/a$ ll
总用量 12
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 ./
drwxr-xr-x 7 baba baba 4096 2月 21 16:35 ../
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 b/
baba@wp:~/桌面/a$ cd b
baba@wp:~/桌面/a/b$ ll
总用量 12
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 ./
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 ../
drwxrwxr-x 2 baba baba 4096 2月 21 16:35 c/
mkdir -p /a/b/c :和 “mkdir -p a/b/c ”做一样的事只不过是把创建的文件夹放在根节点
baba@wp:~/桌面/a$ sudo mkdir -p /a/b
[sudo] baba 的密码:
baba@wp:~/桌面/a$ cd /
baba@wp:/$ ll
总用量 88
drwxr-xr-x 21 root root 4096 2月 21 16:39 ./
drwxr-xr-x 21 root root 4096 2月 21 16:39 ../
drwxr-xr-x 3 root root 4096 2月 21 16:39 a/
mkdir shiren{libai,baijuyi}
在当前目录创建两个文件夹,分别是:shirenlibai,shirenbaijuyi
baba@wp:~/桌面$ mkdir shiren{libai,baijuyi}
baba@wp:~/桌面$ ll
drwxrwxr-x 2 baba baba 4096 2月 21 16:40 shirenbaijuyi/
drwxrwxr-x 2 baba baba 4096 2月 21 16:40 shirenlibai/
mkdir -p shiren/{lb,df,lqz}
在当前文件夹里创建shiren文件夹,再在shiren文件夹里创建三个文件夹。
baba@wp:~/桌面$ mkdir -p shiren/{lb,df,lqz}
baba@wp:~/桌面$ ll
drwxrwxr-x 5 baba baba 4096 2月 21 16:42 shiren/
baba@wp:~/桌面$ cd shiren
baba@wp:~/桌面/shiren$ ll
drwxrwxr-x 2 baba baba 4096 2月 21 16:42 df/
drwxrwxr-x 2 baba baba 4096 2月 21 16:42 lb/
drwxrwxr-x 2 baba baba 4096 2月 21 16:42 lqz/
删除文件夹命令 rm
rm -rf 文件夹名 (非空文件夹可删除)
rmdir 文件夹名 (不可删除非空文件夹)
复制文件命令
文件夹复制文件
sudo cp 文件名.文件类型 ./文件夹名
baba@wp:~/桌面$ sudo cp tt.txt ./a
baba@wp:~/桌面$ cd a
baba@wp:~/桌面/a$ ll
总用量 16
drwxrwxr-x 3 baba baba 4096 2月 21 17:15 ./
drwxr-xr-x 9 baba baba 4096 2月 21 17:13 ../
drwxrwxr-x 3 baba baba 4096 2月 21 16:35 b/
-rw-r--r-- 1 root root 12 2月 21 17:15 tt.txt
文件复制文件
sudo cp 文件名1.文件类型 文件名2.文件类型
baba@wp:~/桌面$ sudo cp tt.txt io.txt
baba@wp:~/桌面$ vim io.txt
baba@wp:~/桌面$ ll
总用量 56
-rw-rw-r-- 1 baba baba 12 2月 21 17:16 io.txt
drwxrwxr-x 2 baba baba 4096 2月 20 22:38 Shell/
drwxrwxr-x 5 baba baba 4096 2月 21 16:42 shiren/
drwxrwxr-x 2 baba baba 4096 2月 21 16:40 shirenbaijuyi/
drwxrwxr-x 2 baba baba 4096 2月 21 16:40 shirenlibai/
-rwxrwxr-x 1 baba baba 93 2月 20 14:03 show.sh*
-rw-rw-r-- 1 baba baba 12 2月 21 17:13 tt.txt
拷贝文件夹
sudo cp 文件夹名1 /文件夹名2
baba@wp:~/桌面$ sudo cp -r a ./helloworld
baba@wp:~/桌面$ cd helloworld/
baba@wp:~/桌面/helloworld$ ll
总用量 32
drwxrwxr-x 3 baba baba 4096 2月 21 17:24 ./
drwxr-xr-x 9 baba baba 4096 2月 21 17:16 ../
drwxr-xr-x 3 root root 4096 2月 21 17:24 a/
剪切与重命名命令
mv 文件名 文件夹名
baba@wp:~/桌面$ sudo mv tt.txt ./Shell
[sudo] baba 的密码:
baba@wp:~/桌面$ cd /Shell
baba@wp:~/桌面/Shell$ ll
总用量 84
-rw-rw-r-- 1 baba baba 12 2月 21 17:13 tt.txt
mv 旧文件名.文件类型 新文件名.文件类型 (重命名)
baba@wp:~/桌面$ mv io.txt oi.txt
baba@wp:~/桌面$ ll
总用量 56
-rw-rw-r-- 1 baba baba 12 2月 21 17:16 oi.txt
touch 创建文件
baba@wp:~/桌面$ touch less
baba@wp:~/桌面$ ll ./l*
-rw-rw-r-- 1 baba baba 0 2月 22 16:03 ./less
如果文件存在,则修改文件的三个时间。
stat 查看文件状态
baba@wp:~/桌面$ stat less
文件:less
大小:0 块:0 IO 块:4096 普通空文件
设备:807h/2055d Inode:1862777 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ baba) Gid:( 1000/ baba)
最近访问:2022-02-22 16:03:28.782180402 +0800
最近更改:2022-02-22 16:03:28.782180402 +0800
最近改动:2022-02-22 16:03:28.782180402 +0800
创建时间:-
#Inode:1862777 :主键
符号链接与硬连接
符号链接:
baba@wp:~/桌面$ ln -s less slink
baba@wp:~/桌面$ cat less
wo shi da ying jia
baba@wp:~/桌面$ cat slink
wo shi da ying jia
硬链接:
baba@wp:~/桌面$ ln less hlink
baba@wp:~/桌面$ ll ./*k
-rw-rw-r-- 2 baba baba 20 2月 22 17:18 ./hlink
lrwxrwxrwx 1 baba baba 4 2月 22 17:18 ./slink -> less
baba@wp:~/桌面$ cat hlink
wo shi da ying jia
baba@wp:~/桌面$ vim hlink
baba@wp:~/桌面$ cat less
wo shi da ying jia
wo yao huo de kuai le
baba@wp:~/桌面$ rm -f less
baba@wp:~/桌面$ ll ./*k
-rw-rw-r-- 1 baba baba 42 2月 22 17:21 ./hlink
lrwxrwxrwx 1 baba baba 4 2月 22 17:18 ./slink -> less
baba@wp:~/桌面$ cat slink
cat: slink: 没有那个文件或目录
baba@wp:~/桌面$ cat hlink
wo shi da ying jia
wo yao huo de kuai le
baba@wp:~/桌面$ touch less
baba@wp:~/桌面$ vim less
baba@wp:~/桌面$ ll ./*k
-rw-rw-r-- 1 baba baba 42 2月 22 17:21 ./hlink
lrwxrwxrwx 1 baba baba 4 2月 22 17:18 ./slink -> less
baba@wp:~/桌面$ cat slink
wo shi boss
baba@wp:~/桌面$ cat hlink
wo shi da ying jia
wo yao huo de kuai le
硬链接与符号链接的区别
baba@wp:~/桌面$ ln -s less slink
baba@wp:~/桌面$ ln less hlink
baba@wp:~/桌面$ stat less
文件:less
大小:14 块:8 IO 块:4096 普通文件
设备:807h/2055d Inode:1863301 硬链接:2
权限:(0664/-rw-rw-r--) Uid:( 1000/ baba) Gid:( 1000/ baba)
最近访问:2022-02-22 17:24:56.639451933 +0800
最近更改:2022-02-22 17:24:41.215453164 +0800
最近改动:2022-02-22 17:29:12.391984004 +0800
创建时间:-
baba@wp:~/桌面$ stat slink
文件:slink -> less
大小:4 块:0 IO 块:4096 符号链接
设备:807h/2055d Inode:1863249 硬链接:1
权限:(0777/lrwxrwxrwx) Uid:( 1000/ baba) Gid:( 1000/ baba)
最近访问:2022-02-22 17:29:07.055976202 +0800
最近更改:2022-02-22 17:29:07.003976125 +0800
最近改动:2022-02-22 17:29:07.003976125 +0800
创建时间:-
baba@wp:~/桌面$ stat hlink
文件:hlink
大小:14 块:8 IO 块:4096 普通文件
设备:807h/2055d Inode:1863301 硬链接:2
权限:(0664/-rw-rw-r--) Uid:( 1000/ baba) Gid:( 1000/ baba)
最近访问:2022-02-22 17:24:56.639451933 +0800
最近更改:2022-02-22 17:24:41.215453164 +0800
最近改动:2022-02-22 17:29:12.391984004 +0800
创建时间:-
Linux 系统启动流程
先进入 bios 读取时间 、读取引导分区==》读到 /boot > 读到计算机启动级别》找到 rc.d ==> 根据配置 找到 rc${runlevel}.d
Linux 系统目录结构
baba@wp:/boot$ ls /
bin cdrom etc lib lib64 lost+found mnt proc run snap sys usr
boot dev home lib32 libx32 media opt root sbin srv tmp var
baba@wp:/boot$
/bin:
是Binaries (二进制文件)的缩写,放着最经常使用的命令
/boot :
存放启动linux使用的核心文件,包括连接文件和镜像文件
/dev :
是Device(设备)的缩写,存放的是linux的外部设备,访问方式与访问文件方式相同
/etc :
是Etcetera(等等)的缩写,存放所有系统管理所需要的配置文件和子目录
/home:
是用户的主目录,每个用户都有一个自己的目录,一般是以用户账号命名,放在主目录中
/lib:
是Library(库)的缩写,存放系统最基本的动态链接共享库,类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般是空的,当系统被非法关机后,这里就存放了一些文件
/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的
/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序
/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin:
系统用户使用的应用程序
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:
内核源代码默认的放置目录。
/var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
/cdrom :
光驱。