Linux
linux是一个操作系统,linux内核由芬兰人林纳斯·托瓦兹开发。
linux发行版(linux内核与应用软件),较流行的发行版:Ubuntu、RedHat。
关机
关机:shutdown、重启:reboot、断电:poweroff、关闭系统:halt
sync #同步数据
shutdown -h now #立即关机
shutdown -r now #立即重启
reboot #等同于 shotdown -r now
halt #等同于 shotdown -h now
poweroff #关闭电源
目录管理
/:根目录、~:用户根目录
pwd
查看当前所在的目录(根目录开始)
pwd #查看当前所在目录
pwd -P #如果是链接,显示真实地址
ls
列出目录
ls -a #全部文件
ls -l #详细信息
cd
切换目录
cd / #切换到根目录
cd ~ #切换到用户根目录
cd .. #返回上一级目录
mkdir
创建目录
mkdir -m #配置文件权限
mkdir -p #递归创建
rmdir
删除目录(只能删除空目录)
rmdir -p #递归删除
cp
复制
cp -r #递归复制
cp -f #强制执行,不询问
cp -i #询问
mv
移动/修改名称,文件/目录
mv #修改名称
mv -f #强制执行,不询问
mv -i #询问
rm
删除文件/目录
rm -r #递归删除
rm -i #询问
rm -f #强制执行,不询问
目录属性
ls -l #列出目录/文件,包含详细信息
所属用户主,所属用户组
目录属性由10个字符表示:drwxr-xr-x
1、目录类型(1个字符):d 代表目录,- 代表文件,l 代表链接
2、所属用户主权限,3、所属用户组权限,4、其他用户权限:
r:读(4),w:写(2),x:执行(1),-:无此权限(0)
chown
修改所属用户主,也可同时修改所属用户组
chown -R 所属用户主名 文件名 #递归修改所属用户主
chown -R 所属用户主名:所属用户组名 文件名 #递归修改所属用户主及所属用户组
chgrp
修改所属用户组
chgrp -R 所属用户组名 文件名 #递归需修改所属用户组
chown
更改9个权限属性
chown -R 777 #任何用户读写执行权限都开放
文件内容查看
cat
正序显示文件全部内容
tac
倒序显示文件全部内容
nl
正序显示文件全部内容(添加行号)
more(退出控制台有内容)
空格:向下翻一页
enter:向下翻一行
3、所属组权限:
4、其他用户权限:
q:退出
less(退出控制台无内容)
空格:向下翻一页
enter:向下翻一行
q:退出
/字符串:向下查找
?字符串:向上查找
n:按查找顺序正向搜索
N:按查找顺序反向搜索
head
head -num #列出文件前几行
tail
tail -num #列出文件最后几行
tail -numf #列出正在写入的文件最后几行
链接
linxu的每个文件都有一个索引编号,称为索引节点号。
硬链接
假设A是B的硬链接,A、B的索引节点号相同,删除B,A不受影响。
软连接
假设A是B的软连接,A、B的索引节点号不相同,A存放的是B的路径名(A可以当作B的一个快捷方式),删除B,A仍然存在,但是是一个无效链接。
ln f1 f2 #创建f1的一个硬链接f2
ln -s f1 f2 #创建f1的一个软连接f2
Vim文件编辑器
命令模式、输入模式、底线命令模式
命令模式
i #进入输入模式
: #进入底线命令模式
输入模式
esc #退出输入模式,回到命令模式
底线命令模式
q #退出程序
w #保存文件
! #强制执行
ZZ #保存退出
用户组管理
用户组的管理实际上就是对:/etc/group文件的操作
groupadd
用户组添加
groupadd group1 #添加新用户组,组标识号自增
groupadd -g 110 group1 #添加新用户组,组标识号自定义
groupdel
用户组删除
groupdel group1 #删除用户组
groupmod
修改用户组
groupmode -g 102 group1 #修改group1用户为组标识号为102
groupmode -g 102 -n group2 group1 #修改group1用户组为组标识号102,名称group2
newgrp
切换组(前提是目的组的主用户确实是该用户的用户主)
newgrp root #将该用户切换为root用户组
用户管理
用户管理实际上就是对:/etc/passwd,/etc/shadow,/etc/group 文件的操作
useradd
添加用户
useradd -g group1 tmy #指定用户组添加用户tmy
useradd -d test tmy #添加用户tmy,指定用户的根目录test
useradd -m tmy #添加用户tmy,用户的根目录自动创建
userdel
删除用户
userdel -r tmy #删除用户,同时删除用户的根目录
usermod
修改用户
-g #修改用户组
-l #修改用户名称
-d #修改用户根目录
su
切换用户
su - root #切换到root用户,并使用新用户环境
su root #切换到root用户
exit #回到之前用户
passwd
用户口令管理
passwd tmy #修改tmy用户口令(root)
-l #锁定口令
-u #口令解锁
-d #使账号五口令
-f #迫使用户下次登陆时修改口令
passwd #修改当前用户口令
磁盘管理
df
查看磁盘占用情况
df -h #以G、M格式显示
du
查看目录容量
du -a #列出文件和目录容量
du -h #以G、M格式显示
进程管理
ps
查看系统执行进程
-a #显示所有进程
-u #以用户的信息显示进程
-x #显示后台进程参数
| 管道符(左边条件&&右边条件)
grep #查询文件中符合条件的字符串
ps -aux|grep mysql #查询mysql进程
pstree
进程树(清楚明了)
-p #显示父id
-u #显示用户组
kill
杀掉进程
kill -9 进程id #强制杀掉进程
软件安装
rpm安装
#软件自身功能检查
java -version
#1、检查要安装的软件
rpm -qa|grep jdk
#假设查询出 jdk1.8.0_121-1.8.0_121-fcs.x86_64
#2、强制卸载删除(-e 卸载,--nodeps 强制删除)
rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
#软件自身功能检查
java -version
#3、安装
rpm -ivh jdk-8u221-linux-x64.rpm
解压缩安装
tar -zxvf apache-tomcat-9.0.22.tar.gz #1、解压缩
yum在线安装
#查看yum是否安装
yum
#安装gcc环境
yum -y install gcc
yum -y install gcc-c++
#安装
yum install -y packageName
#卸载
yum remove -y packageName