Linux目录结构
Linux只有一个根目录: /
-
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
-
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
-
/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
-
/lib: 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。
Linux的基本命令
基本格式:
command [-options] [parameter]
ls展示文件信息
ls [-a -l -h] [Linux路径]
-a:(all) 列出全部,包括隐藏文件
-l:(list)以列表形式展示内容,并展示更多信息
-lh:查看文件的大小
cd/pwd更改工作目录
cd [Linux] :(Change Directory) 切换到制定目录下,不写参数直接回到用户的home目录
pwd :(Print Work Directory) 查看当前工作目录
相对和绝对路径
特殊路径符
. :表示当前目录,写不写都一样
.. :表示上一级目录
~ :表示home目录
./ :表示当前目录下
mkdir创建新的目录
mkdir [-p] Linux路径
-p :表示自动创建不存在的父目录
touch创建文件、cat、more查看文件内容
touch Linux路径:表示要创建的文件路径
cat Linux路径 :表示查看文件内容
more Linux路径 :表示查看文件内容,可以翻页,按q退出
cp、mv、rm复制、移动、删除文件
cp [-r] 参数1,参数2
-r:可选,用于复制文件夹使用,表示递归
参数1:Linux路径,表示被复制的文件或者文件夹
参数2:Linux路径,表示要复制去的地方
mv 参数1,参数2
参数1:Linux路径,表示被移动的文件或者文件夹
参数2:Linux路径,表示要移动去的地方
rm [-r -f] 参数1 参数2 ...参数N
-r:表示删除文件夹
-f:(force) 强制删除,不会弹出提示效果
参数1,参数2,...参数N表示删除n个文件
管理员模式
sudo passwd 每次开机修改管理员密码
su - root 进入管理员模式
exit退出管理员模式
which 查看命令存放的位置
which 命令 查看命令所存放的地址
find 搜索制定文件
find 起始路径 -name "被查找的文件名"
find 起始路径 -size +|-n[kMG]
+、-表示大于和小于
n表示大小数字
kMG表示大小单位
grep从文件中通过关键字和其他特殊符号
grep [-n] 关键字 文件路径
-n:表示在结果中显示匹配的行的行号
关键字:表示过滤的关键字
文件路径:表示要过滤内容的文件路径
wc做数量统计
wc [-c -m -l -w] 文件路径
-c:统计bytes数量
-m:统计字符数量
-l:统计行数
-w:统计单词数量
文件路径:被统计的文件
|:管道符
|左边的结果作为右边的输入
echo 在命令行输出指定内容
echo 输出的内容
反引号``将内容包围作为命令执行
重定向符:>和>>
">":将左边的结果覆盖写到右边
">>":将左边的结果追加写入右边
tail 查看文件尾部内容,跟踪文件的最新更改
tail [-f -num] Linux路径
-f:表示持续跟踪
-num:表示查看尾部多少行,默认位10
Linux路径:被跟踪的文件路径
vi\vim编辑器
命令模式:所有按键都为命令,不能进行自由文本编辑
输入模式:对文本内容进行自由编辑
底线 命令模式:开始,通常用于文件的保存和退出
命令模式:
1、进入编辑器:vi/vim 文件路径
2、退出编辑器:wq
输入模式:i(进入输入模式) Esc(退出到命令模式)
底线模式::(进入底线命令模式)输入wq退出vim编辑器
常用命令模式的命令:
nyy:n是数字,复制当前行和下面的n行
p:粘贴复制的内容
u:撤销修改
dd:删除当前行
底线命令模式的命令:
:wq:保存并退出
:q:仅退出
:q!:强制退出
:w:仅保存
:set paste :设置粘贴模式,保证粘贴内容不会出现格式错误
:set nu:为每行都加行数
Linux的root用户
Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。 我们可以在终端输入命令sudo passwd,然后输入当前用户的密码, enter, 二、终端会提示我们输入新的密码并确认,此时的密码就是root新密码。 修改成功后,输入命令su root,再输入新的密码就ok了.
su [-] [用户名] :切换用户
sudo命令为普通命令授权,临时以root身份执行
为普通用户配置sudo认证
1、切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
2、在文件最后添加 用户名 ALL=(ALL) NOPASSWD:ALL
用户组管理
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
1、创建用户
useradd [-g -d]
-g:指定用户的组,不指定-g,会创建同名组并自动加入
-d:指定用户的home路径,默认在/home/用户名
2、删除用户
userdel [-r] 用户名
-r:删除用户的home目录
3、id [用户名]
用户名:被查看的用户
4、修改用户的所属组
usermod -aG 用户组 用户名
getent查看当前系统有哪些用户
getent passwd
查看权限控制信息
-|d|l :文件|文件夹|软链接
r(4):可读
w(2):可写、可修改
x(1):可执行
chmod修改权限控制
chomod [-R] 权限 文件或文件夹
-R:对文件夹内所有的内容应用同样的操作
chomod u=rwx,g=rx,o=x hello.txt 将文件权限修改为:rwxr-x--x (当前用户,用户组,其他用户)
chown修改文件、文件夹的所属用户和用户组
只允许在root权限下执行
chown [-R] [用户] : [用户组] 文件或文件夹
Linux的实用操作
强制停止:ctrl+c
退出或登出:ctrl+d
历史搜索:history
历史命令搜索:ctrl+r
光标移动快捷键
ctrl+a,跳到命令开头
ctrl+e,跳到命令结尾
ctrl+左,向左跳一个单词
ctrl+右,向右跳一个单词
清屏
快捷键:ctrl+l | 命令:clear
yum命令
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题(类似应用商店)
yum [-y] [install | remove | serach] 软件名称
-y:自动确认,无需手动确认安装或者卸载流程
apt命令
ubuntu的下载命令
apt [-y] [install | remove | search] 软件名称
systemctl命令
控制服务的启动、关闭、开机自启动
systemctl start | stop | status | enable | disable 服务名
系统内置服务:
NetworkManager,主网络服务
network,副网络服务
firewalld,防火墙服务
sshd,ssh服务(FinalShell远程登陆Linux就是用这个服务)
软链接
在系统中创建软链接,可以将文件、文件夹链接到其他位置,类似于Windows的快捷方式
ln -s 参数1 参数2
-s:创建软链接
参数1:被链接的文件或者文件夹
参数2:要链接去的目的地
日期和时区
date [-d] [+格式化字符串]
-d:按照给定的字符串显示日期,一般用于日期计算
%Y:年
&m:月
%d:日
加上时间需要加""
%H:小时
%M:分钟
%S:秒
把时区修改为东八区:
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
IP地址、主机名
ifconfig 查看ip地址 hostname Linux主机名
Windows:C:\Windows\System32\drivers\etc\hosts
Linux:/etc/hosts
Linux固定IP地址
1、在VMware 中配置ip地址网关和网段(ip地址的范围)
2、在Linux系统中手动修改配置文件,固定ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
网络传输
ping [-c num] ip或主机名 检查指定的网络服务器是否是可联通的状态
-c:检查的次数,不适用-c,将无限次数持续检查
wget是非交互式的文件下载器,可以在命令行下载网络文件 (从网上下载)
wget [-b] url
-b:后台下载,会将日志写入到当前工作目录的wget-log文件
curl可以发送http网络请求,可用于:下载文件、获取信息
curl [-O] url
-O:用于下载文件,如果url是下载链接时,可以使用此选项保存文件
端口nmap
nmap 被查看的ip地址 :查看ip地址中对外暴露的端口
netstat -anp | grep 端口号 查看指定端口的占用情况
进程管理ps
ps [-e -f] 查看Linux中的进程信息
-e:显示出全部进程
-f:以完全格式化的形式展示信息(展示全部信息)
一般固定用法 ps -ef
kill [-9] 进程id 关闭进程
-9:表示强制关闭进程
主机状态top
top命令查看cpu、内存使用情况,类似Windows的任务管理器
-p:只显示某个进程的信息
-d:设置刷新时间,默认5s
-c:显示产生进程的完整命令,默认是进程名
-n:指定刷新次数
-b:以非交互非全屏模式运行
-i:不显示任何闲置
-u:查找特定用户启动的进程
默认每个5s刷新一次
磁盘信息监控df
df [-h] 查看硬盘的使用情况
-h:更加人性化的单位显示
iostat 查看CPU、磁盘的相关信息
iostat [-x] [num1] [num2]
-x:显示更多信息
num1:数字,刷新间隔,num2:数字,刷新几次
网络状态监控sar
sar -n DEV num1 num2
-n:查看网络
DEV:表示查看网络接口
num1:刷新间隔, num2:查看次数
环境变量
env:查看系统环境变量 ,用KeyValue存储
$:取键值对的Value
临时设置环境变量: export 变量名=变量值
永久设置环境变量:~/bashrc文件,配置当前用户的
/etc/profile文件,配置所有用户的
source配置文件,立即生效
文件的上传下载rz、sz
下载:sz
上传:rz
压缩文件tar和解压文件zip、unzip
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
-c:创建压缩文件
-v:显示压缩、解压过程,查看进度
-x:解压模式
-f:要创建的文件,要解压的文件,必须在最后一个位置
-z:gzip模式,不使用默认是tarball模式
-C:选择解压的目的地
.tar(tarball): 归档文件,简单封装文件
.gz :使用gzip压缩算法将文件压缩刀一个文件内
例:
tar -cvf test.tar 1.txt 2.txt 3.txt
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
tar -xvf test.tar
tar -zxvf test.tar.gz -C /home/pirate
zip [-r] 参数1 参数2 ... 参数n :压缩
-r:被压缩的文件包含文件夹的时候
unzip [-d] 参数 : 解压
-d:表示要解压的目的地