/ -- 根目录
/bin -- 系统可执行程序存放目录
/boot -- 内核和启动程序的相关文件都在此目录下
/lib -- 库目录,主要存放系统最基本的动态共享库
/media -- 挂载设备媒体,U盘,光驱等
/mnt -- 该目录是为了让用户挂载别的文件系统
/usr(unix system resources) -- 庞大和复杂的目录,很多应用会安装到此目录
/usr/local -- 用户自己安装软件的目录
/sbin -- 超级管理员root的可执行文件目录
/proc -- 这个目录是系统内存的映射,会保留进程运行的一些信息
/etc -- 系统软件的启动和配置目录
/etc/passwd -- 用户存放文件 man 5 passwd 查看文件格式
/dev -- 设备文件所在目录
/home/user -- 用户家目录
Linux一切皆文件
二、相对路径和绝对路径
-
以“/”开始的为绝对路径
-
以" . "或者“ .. ”开始的路径,“ . ”代表当前路径 ,“ .. ”代表上一级路径
三、常用命令
3.1 基本操作
-
history -- 查看历史命令 可以方向键上下查看之前的命令
-
man -- 查看命令帮助
-
ls(list) -- 查看文件信息
-
-a:查看全部文件,文件前带" . "是隐藏文件
-
-l:查看文件的详细信息
- -h:适合人看的大小,如 1k,2M,3G
-
-R:递归查看子目录的文件信息
-
-lrt:文件按照修改时间排序
-
通配符
-
任意多字符:*
-
任意一个字符:?
-
-
3.2 目录相关操作
-
cd:更改目录
-
cd /home
-
cd ..:返回上一层
-
cd ~:回到home/user目录
-
cd
-
cd $HOME
-
cd -:回到上一次所在的目录
-
-
ren@linux:~/code$
:目录介绍-
ren:代表用户
-
linux:代表机器名
-
~:代表家目录
-
code:家目录下面的当前目录
-
$:代表普通用户
-
#:代表管理员
-
-
pwd
:打印当前工作路径 -
which
-
which ls
:查看 ls 命令所在路径 -
cd 命令是bash自身带的命令
-
-
mkdir:新建文件夹
-
mkdir dir1 dir2:创建多个目录
-
mkdir dir1/dir2:在dir1下面创建dir2,前提是dir1必须存在
-
mkdir dir1/dir2 -p
:递归创建目录
-
-
rmdir:删除文件夹
-
rmdir dir
-
空目录定义:只包含" . " 和 “ .. ”的目录
-
rmdir dir1/dir2 -p
:如果dir2删除后,dir1为空,那么会递归删除
-
3.3 文件相关操作
-
touch:创建文件
-
touch [option] filename1 filename2
:创建文件,如果 文件存在,则修改文件的最后修改时间
-
-
rm:删除文件或文件夹
-
rm filename
-
rm -rf*
:强制删除目录下全部内容-
-r:递归删除子目录
-
-f (force):强制
-
-
-
cp(copy):拷贝文件或目录
-
cp [option] srcpath despath
-
despath 是一个目录,将 srcpath 拷贝到 despath 目录下
-
despath 不是一个目录,在despath上级目录(../xxx),在../下创建一个xxx文件,并将srcpath的内容拷贝进来
-
-
cp -r aa/ee /bb
:递归拷贝目录,将aa下的ee拷贝到bb目录下
-
-
mv(move):移动
-
mv src des
:重命名文件或者目录 -
mv src des
:移动文件或目录到其他目录,注意,des代表一个路径 -
mv src des
:移动并改,des是其他路径下的文件名
-
3.4 文件内容相关操作
-
cat:将文件内容显示到终端,如果无文件,则读标准输入
-
cat filename
:直接显示文件信息到屏幕
-
-
more:分屏查看文件
-
more file
:空格,一页一页显示,回车逐行显示
-
-
less:分屏显示
-
less file
:回车或上下键可以反复查看文件内容
-
-
head:从头部查看文件
-
head -n file
:显示文件头n行,如果不加默认显示10行
-
-
tail:从尾部查看文件
-
tail -n file
:显示文件末尾n行,如果不加默认显示10行 -
tail -f file
:查看文件尾部内容,不退出,用于追踪日志
-
3.5 统计信息
-
tree:树状显示目录结构(
sudo apt install tree
) -
wc(word count):统计文件内容,默认显示:行,单词数,字节数
-
wc * :统计整个目录
-
-l:显示行数
-
-w:显示单词数
-
-c:显示字节数
-
-
-
du:查看当前路径使用情况
-
du -h:更适合人类观察
-
du -h --max-depth=1:递归一级子目录
-
-
df:查看硬盘剩余情况
-
df -h:显示磁盘使用情况
-
df -h --block-size=GB:按照GB统计显示
-
四、文件属性和用户用户组
文件属性
文件夹权限标志位 用户 用户组 大小(目录一般都是4096) 时间 目录
-
- rw- r-- r--
:文件权限标志位- rwx rwx r-x
:a.outd rwx r-x r-x
:目录权限标志位-
文件类型
- -:普通文件
- d:目录文件
- l:符号连接文件
- c:字符设备,char
- b:块设备,block
- p:管道设备,pipe
- s:本地套接字,socket
-
归属用户的权限
-
r:可读
-
w:可写
-
x:可执行
-
如果对应位置无权限写 -
-
-
归属组的权限
-
其他用户的权限
-
权限位数字表示法(8进制数)
-
rw-:110 --> 6 用户位
-
r--:100 --> 4 组权限位
-
r--:100 --> 4 其他权限位
-
三个数连接起来前面 +0 (0644)
-
-
-
1: 硬连接计数
-
ren:用户
-
ren:用户组
-
8980:大小
-
4月 11 14:49:时间
-
examples.desktop:文件名
用户用户组
-
whoami
:显示当前用户 -
ln
:建立软硬连接 -
chmod:改变文件的权限
-
chmod [u|g|o|a] [+|-] [r|w|x] file
:可以用 + 或者 - 增加权限,减少权限 -- [ user | group | other | all ] -
chmod -x file
:如果不加用户和组等信息,则默认是a,代表全部 -
chmod 0664 file
:按照数字表示法设置权限位
-
-
chown:改变用户 -- 文件名|目录
-
sudo chown user:group file
:可以修改file 的所有者和所属组 -
sudo chown user file
:只修改所有者
-
-
chgrp:改变组
-
sudo chgrp groupname file
:修改文件所属组
1、find:查找
-name
:按文件名查找
-
find + 路径 + -name + 文件名
-
find /home -name a.txt
-size
:按文件大小查找
-
find + 路径 + -size + 范围
-
-
- 范围
- 大于:+表示 -- +100k
- 范围
-
-
-
-
- 小于:-表示 -- -100k
-
-
-
-
-
- 等于:不需要添加符号 -- 100k
-
-
-
-
-
- 取中间值:
find /home -size +1M -size -5M
- 取中间值:
-
-
-type
:按类型查找
-
find + 路径 + -type + 类型
-
-
- 类型
-
-
-
- f -> 普通文件类型
-
-
-
- d -> 目录
-
-
-
- l -> 符号连接
-
-
-
- b -> 块设备文件
-
-
-
- c -> 字符设备文件
-
-
-
- s -> socket 文件
-
-
-
- p -> 管道
-
-maxdepth
:最深路径,当前路径1,下一级2
-
find ./ -maxdepth
1 -size +1M`:当前路径下大于1M
前面查到的结果传递给后边的指令 ,exec跟ok差不多,ok是安全模式,每一条指令都会提示。结果特别多会造成指令的溢出
-
find ./ -maxdepth 1 -size +1k -exec ls -lh {} \;
-
find ./ -maxdepth 1 -size +1k -ok ls -lh {} \;
- xargs:把find 查找的结果分成若干个块,按块输出给后面的指令
-
find ./ -type l |xargs ls -l
grep [option] 内容 dir|filename
-
- -n:显示行号
-
- -r:递归子目录
-
- -v:过滤输出结果
-
find ./ -type f |grep txt
:find与grep结合使用
-
cat txt.c |grep main
:查找指定文件内是否有main
-
tail -f tcpsrv.1705 |grep connect
:分析日志
六、压缩包管理
-
zip压缩命令
zip -r dir.zip dir
:打包,-r代表递归子目录 例:zip -r bb.zip bb hellounzip dir.zip
:解包,例:unzip bb.zip
-
.gz格式的压缩包:gzip与gunzip,不能操作目录,基本不用
-
rar压缩
- rar a -r 压缩包名(自动添加后缀) 要压缩的文件
- rar a -r newdir dir
- a:压缩
- -r:递归
- rar x newdir.rar
-
tar高级打包命令
- 只打包不压缩
- 打包:tar cvf dir.tar dir
- 解包:tar xvf dir.tar
- gz格式,最常用打包工具
- 打包:tar zcvf dir.tar.gz dir
- z:gz格式压缩,不带z就是tar包,带z就是 gz
- c:压缩文件
- v:显示信息
- f:指定压缩包名
- tar [option] 压缩包名 要打包的内容
- 例:tar zcvf bb.tar.gz bb
- 解包:tar zxvf dir.tar.gz
- x:解压
- 打包:tar zcvf dir.tar.gz dir
- bzip2格式
- 打包:tar jcvf dir.tar.bzip2 dir
- 解包:tar jxvf dir.tar.bzip2
- 只打包不压缩
七、软件安装和卸载
八、用户管理
-
创建用户
- -s:指定 shell
- -g:指定组
- -d:用户家目录
- -m:家目录不存在时,自动创建
- 例:
sudo useradd -s /bin/bash -g itcast -d /home/itcast -m itcast
-
设置用户组
sudo groupadd itcast
:增加 itcast 用户组 -
设置密码:
sudo passwd itcast
-
切换用户
su itcast
:切换到 itcast 用户su -itcast
:切换到 itcast 用户,带有环境变量
-
root 用户:
sudo su
-
sudo userdel itcast
:删除用户 -
sudo userdel -r itcast
:删除用户连带删除目录
九、进程管理
-
who:查看登录设备
-
ps:查看进程信息
- ps aux
- ps ajx
-
kill:杀死进程,
kill -9 pid
-
env:环境变量,
echo $SHELL
-
top:查看系统信息
十、网络管理
-
ifconfig:查看ip信息
- eth0代表本地第一块网卡
sudo ifconfig eth0 ip
-
ping :ping域名
- -c:只能ping四次
-
nslookup:通过域名得到ip
-
netstat:查看网络连接状态
nsetstat -an |grep port
十一、其他常用命令
- alias :配置命令别名
- alias ll:查看ll命令的重命名
- alias rm :查看rm命令的重命名
- man:帮助手册
- man man:查看man的帮助手册
- date:日期指令
- date:获得系统时间
date +'%Y%m%d'
:获得当前日期
- umask:文件权限补码
- umask:显示八进制文件掩码 ,0002取反 0775&666 -> 664
- umask -S:文件表示法显示对应的补码权限,
u=rwx,g=rwx,o=rx
- echo:输出变量或者字符串
十二、关机重启
- 关机
shutdown -h now
:立刻关机重启shutdown -h +1
:1分钟后关机init 0
:关机poweroff
:关机
- 重启:
reboot
shutdown -r +1
:一分钟后重启init 6
- 注销:
logout
exit
ctrl+d