目录
Linux
下的文件系统
在 Linux
下,我们看到的是文件夹(目录),没有盘符这个概念,只有一个根目录 /
,所有文件都在它下面
用户目录
位于 /home/user
,称之为用户工作目录或家目录,表示方式:
/home/user
~
Linux
主要目录速查表
- /:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
- 当在终端里输入
/home
,其实是在告诉电脑,先从/
(根目录)开始,再进入到home
目录
- 当在终端里输入
- /bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
- /boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:
/boot/vmlinuz
,系统引导管理器:/boot/grub
- /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱
mount /dev/cdrom /mnt
- /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有
- /etc/inittab
- /etc/fstab
- /etc/init.d
- /etc/X11
- /etc/sysconfig
- /etc/xinetd.d
- /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
~
表示当前用户的家目录~edu
表示用户edu
的家目录
- /lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
- /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
- /mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
- /opt:给主机额外安装软件所摆放的目录
- /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件有:/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等
- /root:系统管理员root的家目录
- /sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令,如 fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root 使用的命令,一般用户只能"查看"而不能设置和使用
- /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
- /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
- /usr:应用程序存放目录
- /usr/bin:存放应用程序
- /usr/share:存放共享数据
- /usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
- /usr/local:存放软件升级包
- /usr/share/doc:系统说明文件存放目录
- /usr/share/man:程序说明文件存放目录
- /var:放置系统执行过程中经常变化的文件
- /var/log:随时更改的日志文件
- /var/spool/mail:邮件存放的目录
- /var/run:程序或服务启动后,其 PID 存放在该目录下
常用命令
命令 | 说明 | 加参示例 | eg、及其他描述 | ||||||||||||||
ls | 列出目录的内容 | -a 显示指定目录下所有子目录与文件,包括隐藏文件,linux中以
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小 | 通常使用 ls -lh 查看文件列表详情
从左到右依次是: 权限:第 1 个字符如果是 d 表示目录
拥有者:家目录下 文件/目录 的拥有者通常都是当前用户
组:在 Linux 中,很多时候,会出现组名和用户名相同的情况,后续会讲
大小
时间
名称
| ||||||||||||||
cd | 英文单词 change directory 的简写,其功能为更改当前的工作目录 |
|
| ||||||||||||||
touch | 创建文件或修改文件时间 |
|
touch hello.txt 在当前目录创建一个hello.txt 文件 | ||||||||||||||
mkdir | 创建一个新的目录 | 注:新建目录的名称 不能与当前目录中 已有的目录或文件 同名
-p 可递归创建目录 |
mkdir hello 创建一个hello目录
mkdir -p hello/world 在当前目录创建hello目录, 在hello目录里创建world目录 | ||||||||||||||
rm | 删除文件或目录,使用 rm 命令要小心,因为文件删除后不能恢复 | -f 强制删除,忽略不存在的文件,无需提示
| rm -rf hello 删除hello 目录及内部的所有文件,无需提示
rm -r hello 删除hello目录,出错时提示
| ||||||||||||||
tree | 以树状图列出文件目录结构 | -d 只显示目录 | |||||||||||||||
cp | 复制,拷贝文件,将给出的 文件 或 目录 复制到另一个 文件 或 目录 中 | -i 覆盖文件前提示
| cp hello world 将当前目录里的hello及其里面的文件拷贝到当前目录里的world文件夹里。 | ||||||||||||||
mv | 移动文件或目录,也可以给文件或目录重命名 | -i 覆盖文件前提示 | mv hello.txt world.txt 将hello.txt 重命名为world.txt | ||||||||||||||
cat | 查看文件内容、创建文件、文件合并、追加文件内容 等功能
cat 会一次显示所有的内容,适合 查看内容较少的文本文件 | -b 对非空输出行编号
| Linux 中还有一个 nl 的命令和 cat -b 的效果等价 | ||||||||||||||
more | 可以用于分屏显示文件内容,每次只显示一页内容,适合于查看内容较多的文本文件 | 使用
| more hello.txt 如果这个文本文件很长,一屏显示不下, more命令一次只会显示一屏的文本,可以通过上下键或回车键进行翻页查看,如果不想看了,按下 q 键就会退出。 | ||||||||||||||
grep | 强大的文本搜索工具 grep允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式 | -n 显示匹配行及行号
^a 行首,搜寻以 a 开头的行
| grep hello test.txt 在test.txt 文件中查找hello 字符串
grep hello test.txt --color 在test.txt 文件中查找hello 字符串,并把其高亮显示 | ||||||||||||||
echo | 会在终端中显示参数指定的文字,通常会和 重定向 联合使用 | ||||||||||||||||
> 和 >> | Linux 允许将命令执行结果重定向到一个文件将本应显示在终端上的内容 输出/追加 到指定文件中
> 表示输出,会覆盖文件原有的内容
>> 表示追加,会将内容追加到已有文件的末尾 | ||||||||||||||||
| 管道 | Linux 允许将一个命令的输出 可以通过管道做为另一个命令的输入 可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,左端塞东西(写),右端取东西(读) | 常用的管道命令有 more:分屏显示内容 | ls | grep hello 列出当前目录中,名字包含有hello 的文件 | ||||||||||||||
shutdown | 安全 关闭 或者 重新启动系统 | -r 重新启动 | 不指定选项和参数,默认表示 1 分钟之后 关闭电脑
# 重新启动操作系统,其中 now 表示现在 # 立刻关机,其中 now 表示现在 # 系统在今天的 20:25 会关机 # 系统再过十分钟后自动关机 # 取消之前指定的关机计划 | ||||||||||||||
ifconfig | 查看/配置计算机当前的网卡配置信息 | 一台计算机中有可能会有一个物理网卡和多个虚拟网卡,在 Linux中物理网卡的名字通常以 ensXX 表示
127.0.0.1 被称为 本地回环/环回地址,一般用来测试本机网卡是否正常 | |||||||||||||||
ping | 检测到目标 ip地址 的连接是否正常
| -n count 发送 count 指定的 ECHO 数据包数。默认值为 4。
-l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527
| 一般用于检测当前计算机到目标计算机之间的网络 是否通畅,数值越大,速度越慢 | ||||||||||||||
chmod | 可以修改 用户/组 对 文件/目录 的权限 | chmod 777 hello.txt 将hello.txt 文件修改为所有用户可读,可写,可执行 | |||||||||||||||
date | 查看系统时间 | 2019年 6月10日 星期一 19时17分01秒 CST | |||||||||||||||
cla | 查看系统日历 | 六月 2019 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |||||||||||||||
dh | 显示磁盘空余空间 | -h 以人性化的方式显示文件大小 | |||||||||||||||
du | 显示目录下的文件大小 | -h [目录名] | du -h hello 列出hello目录下的所有文件的大小 | ||||||||||||||
ps | process status 查看进程的详细状况 | -a 显示终端上的所有进程,包括其他用户的进程
| ps -aux | ||||||||||||||
top | 动态显示运行中的进程并且排序 | -m 显示的进程数
-n 显示次数,不指定时将一直显示
| |||||||||||||||
kill | 终止指定代号的进程, | -9 进程代号 , -9 表示强行终止 | kill -9 12921 杀死进程pid 为12921的进程 | ||||||||||||||
find | 通常用来在 特定的目录下 搜索 符合条件的文件 | -name | find /home -name "*.java" 查找指定路径下扩展名是 .java 的文件,包括子目录
find -name "1*" 查找当前目录下1开头的文件 | ||||||||||||||
ln | 建立文件的软链接,用通俗的方式讲类似于 Windows 下的快捷方式 | -s 被链接的源文件 链接文件 | 没有 -s 选项建立的是一个 硬链接文件
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用 | ||||||||||||||
tar | 可以把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件 | -c 生成档案文件,创建打包文件
| # 打包文件
# 解包文件 | ||||||||||||||
gzip | tar 与 gzip 命令结合可以使用实现文件打包和压缩
tar 只负责打包文件,但不压缩
用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz
在 Linux 中,最常见的压缩文件格式就是 xxx.tar.gz 在 tar 命令中有一个选项 -z 可以调用 gzip,从而可以方便的实现压缩和解压缩的功能 | # 压缩文件
# 解压缩文件 tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
解压缩到指定目录,注意:要解压缩的目录必须存在 | |||||||||||||||
bzip2 | tar 与 bzip2 命令结合可以使用实现文件 打包和压缩(用法和 gzip 一样)
tar 只负责打包文件,但不压缩,
用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2
在 tar 命令中有一个选项 -j 可以调用 bzip2,从而可以方便的实现压缩和解压缩的功能 | # 压缩文件
# 解压缩文件 | |||||||||||||||
pwd | 显示当前所在路径 | ||||||||||||||||
clear | 清屏 |
小技巧
ctrl + shift + =
放大终端窗口的字体显示ctrl + -
缩小终端窗口的字体显示- 在敲出
文件
/目录
/命令
的前几个字母之后,按下tab
键,如果输入的没有歧义,系统会自动补全,如果还存在其他文件
/目录
/命令
,再按一下tab
键,系统会提示可能存在的命令小技巧- 按
上
/下
光标键可以在曾经使用过的命令之间来回切换- 如果想要退出选择,并且不想执行当前选中的命令,可以按
ctrl + c
linux文件的权限标识
Linux三种文件类型
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件: Linux系统把每一个设备都看成是一个文件
普通文件(-)目录(d)符号链接(l)
进入etc可以查看,相当于快捷方式字符设备文件(c)块设备文件(s)套接字(s)命名管道(p)
Linux上常用配置操作
主机名配置
hostname 查看主机名
hostname xxx 修改主机名 重启后无效
如果想要永久生效,可以修改/etc/sysconfig/network文件
IP地址配置
ifconfig 查看(修改)ip地址(重启后无效)
ifconfig eth0 192.168.12.22 修改ip地址
如果想要永久生效
修改 /etc/sysconfig/network-scripts/ifcfg-eth0文件
DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)
HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=12.168.177.129 #IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
NBOOT=yes # 系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。
域名映射
/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,
相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能
网络服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务
service --status–all 查看系统中所有后台服务
netstat –nltp 查看系统中网络进程的端口监听情况
防火墙设置
防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙
service iptables start 启动防火墙
chkconfig iptables off 禁止防火墙自启