系统引言
1.linux系统中采用了多用户的管理方式
存在一个默认用户 root用户
管理员登录 终端为# 普通用户为 $
2.linux 系统中文件管理方式
注意:linux系统管理文件是以树的形式管理文件,整个系统中的根目录为 "/"
3.目录结构
bin:存放二进制可执行文件
sbin:存放二进制可执行文件,只有root可以访问
etc:存放系统配置文件
usr:存放共享系统资源
home:存放用户文件的根目录
root:超级用户目录
Dev:存放设备文件
lib:(library)存放和文件系统中的程序运行所需要的共享库及内核模块
mnt:(mount)系统管理员安装临时文件系统的安装点
boot:存放用于系统引导时使用的各种文件
tmp:(temporary)存放临时文件
var:存放运行时需要改变数据的文件
命令的使用
注意:linux命令严格区分大小写
语法:命令 [-选项] [参数]
查看文件 ls
常用参数
ls -l (long) 显示文件和目录的详细信息 等于 ll
ls -a (all) 显示所有文件和目录,包含隐藏文件和目录
ls -R 递归显示当前目录中的所有目录及子目录
ls /etc 查看指定目录中内容
ls -la 指定目录 组合命令的使用
操作文件命令
cd 切换目录
pwd 显示当前工作目录,(print working directory)
touch 创建空白文件
mkdir 创建目录
//-p 父目录不存在的情况下,先生成父目录,创建多级目录 (parents)
// mkdir -p aa/bb/cc
cp 复制文件或目录(copy)
cp 文件名 目录名 复制文件到指定目录
cp -r 目录名 目录 复制目录到指定目录
// -r 递归处理,将指定目录下的文件和子目录一并拷贝(recursive)
mv 移动文件或目录,文件或目录改名(move)
mv 文件名 新文件名 文件改名
mv 文件名 目录名 移动文件
mv 目录名 不存在的目录名 目录改名
mv 目录名 已存在的目录名 目录改名
rm 删除文件(remove)
//-r 删除该目录下的所有文件(recursive)
//-f 强制删除文件或目录(force)
rmdir 删除空目录(remove directory)
cat 展示文件少量内容,内容多的话会快速从上到下显示一遍(catenate)
more,less 分页显示文本文件内容
head,tail 查看文本中开头和结尾的内容
//head -n 5 a.log 查看a.log文件前5行
tail -f b.log 循环读取(fellow)
echo 输出命令
//echo I Love YOU 用来向屏幕输出一句话
//echo I Love You >> a.txt 将这段内容输入到文件中
长格式说明
1.第一个信息一位
d 代表当前为目录
- 代表当前为文件
2.第二个信息(总数为9位)
a.第一个三位 代表当前文件创作者的操作权限 r(读) w(写) x(执行) user
b.中间3位 代表当前文件创作者的同组用户对该文件的操作权限 group
c.最后3位 代表当前文件创建者的不同组对该文件的操作权限 other
3.第三个信息 链接数
一般文件链接数 1
一般目录链接数 2
4.第四个信息
当前文件创建者
5.第五个信息
当前文件创建者所在组
6.第六个信息
当前文件占用空间大小
7.第七个信息
文件最后一次修改时间
8.第八个信息
文件名和目录名
网络相关命令
ip addr 查看ip
ifup ens33 临时连接网络
vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改onboot = yes
生效: 重启linux 永久有效
重启网络服务 临时有效 systemctl restart network
tar命令
tar
-c 建立一个压缩文件 (create)
-x 解开一个压缩文件 (extract)
-z 是否需要用 gzip压缩
-v 压缩的过程中显示文件 (verbose)
-f 使用档名,在f之后 立即接档名(file)
常用组合
tar -cvf aaa.tar file1.txt file2.txt 将file1和2打包成aaa.tar
tar -zcvf aaa.tar.gz file1.txt file2.txt 将file1和2打包成aaa.tar并压缩
tar -zxvf aaa.tar.gz 将aaa.tar.gz 解压缩
systemctl服务命令
systemctl 是 system 和 controll系统控制缩写
//systemctl status/start/stop/restart 服务名 mysqld firewalld network
systemctl status 服务名 查看某个服务的运行状态
systemctl start 服务名 启动某个服务
systemctl restart 服务名 重启某个服务
systemctl stop 服务名 停止某个服务
进程相关命令
//ps 查询在当前控制台上运行的进程
ps -aux 查询系统中所有运行的进程,包括后台进程,其中参数 a 是所有进程,参数 x 包括不占用控制台的进程,参数 u 显示用户
ps -ef 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号
//例:
ps -aux | grep 服务名 关键字
kill -9 pid //杀死进程
//top 动态显示系统进程
vi命令
vi / vim
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
-----------------------------------------------------
:set nu 显示行号
:set nonu 取消行号
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
-----------------------------------------------------
u undo:取消上一步操作
Ctrl+r redo:返回到undo之前
-----------------------------------------------------
q 退出不保存
q! 强制退出不保存
wq: 保存并退出
wq! 强制保存退出
shift+zz 保存退出
软件相关命令
rpm命令
全称:RedHat Package Manager
常用参数:
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:显示安装进度 (verbose hash)
U:升级软件包(update)
qa:显示所有已安装的软件包(query all)
//例子:rpm -ivh gcc--c++4.4.7-3.el6.x86_64.rpm
安装
rpm -ivh xxx.rpm 显示安装进度
rpm -evh xxx.rpm 显示卸载进度
rpm -Uvh xxx.rpm 显示升级进度
rpm -qa
yum命令
基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系(这个是RPM命令做不到的),并且一次安装所有依赖的软件包
yum install gcc-c++
yum remove gcc-c++
yum update gcc-c++
用户和组相关命令
whoami 查看当前用户
who 查看登录用户
//-q 或 --count 只显示用户的登录账号和登录的数量
exit 退出登录
groupadd/groupdel 添加或删除组账号
useradd [用户名]
//useradd sniper -g user 将用户sniper添加到user组中
passwd [用户名] 设置用户密码
su [用户名] 切换用户
权限相关命令
linux文件有三种典型的权限,读权限,写权限,执行权限,r = 4, w = 2, x = 1
//字母法: chmod u/g/o/a +/-/= rwx 文件
chmod u+rwx, g+rwx, o+rwx 文件名
chmod a+rwx 所有权限加满
chmod a-rwx 撤销所有权限
【u/g/o/a】含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组(group)者,即用户组
o other 表示其他组的人
a all 表示这三者都是
【+ - =】含义
+ 增加权限
- 撤销权限
= 设定权限
【r w x】含义
r read 可读
w write 可写
x 可执行
//数字法: 4读 2写 1执行
chmod 777 最高权限
chmod 000 撤销所有权限