前言:Linux的分类
Linux不是一个操作系统,严格来讲,linux只是一个操作系统中的内核,内核是什么?内核建立了计算机软件与硬件之间通讯的平台,内核提供系统服务,比如内存管理,虚拟内存,设备I/O等;
发行版本:一些组织或公司在内核基础上进行二次开发而重新发行的版本,Linux的发行版本有很多种,CentOs和Unbentu用的都很多,两者的命令略有区别,本文命令基于
CentOS版本
一.文件操作命令
cd / 切换到根目录
cd /home 切换到根目录下的home目录
cd .. 切换到上级目录
ls 查看当前文件夹下的内容(文件、文件夹)
ls -alh -a: (all)显示全部文件, 包括隐藏文件; -l : (list)以列表形式显示;-h: (human readable)人性化形式显示文件大小
mkdir aaa 创建aaa文件夹(当前文件夹下)
pwd 查看当前目录所在的路径
mv aa /tmp 将aa文件移动到根目录下的tmp文件夹中
mv aa bb 将aa文件夹重命名为bb
touch aa.txt 创建aa.txt文件
mv aa.txt bb.txt 将aa.txt文件重命名为bb.txt
mv aa.txt /tmp 将aa.txt文件移动到根目录下的tmp文件夹中
cp aa /tmp 复制aa文件到根目录下的tmp文件夹中
rm aa.txt 删除aa.txt文件
rm -rf aa 删除aa文件,-r表示遍历,-f表示不提醒,强删。这个命令在生产环境一定慎用,且aa一定要写绝对路径,如果写相对路径将生产重要文件删除后果难以想象
vi aa.txt vi编辑器,编辑文件内容。进入vi编辑器后,i表示开始编辑模式,Esc键退出编辑模式,退出编辑模式后,:q表示不保存退出;:q! 表示不保存强制退出;:wq表示保存退出;:wq!表示保存强制退出
cat aa.txt 静态输出aa.txt文件内容
tail -f aa.txt 动态输出文件内容,常用来实时查看系统日志
find /home -iname "*.txt" 在home文件夹下,忽略文件名大小写,查找所有txt结尾的文件
find /home -iname "*aa.txt" 在home文件夹下,忽略文件名大小写,查找所有aa.txt结尾的文件
echo 666 >aa.txt echo表示输出,将666的内容,覆盖aa.txt文件中(会删除aa.txt原有内容,在添加666)
echo 777 >>aa.txt 将777的内容,追加到aa.txt文件中(不会删除原有内容)
clear 清屏
二.软件安装命令
yun -install wget 下载安装wget软件
yun -install -y wget 强制下载安装wget软件
ifconfig 查看系统ip
三.打包压缩命令
tar -zcvf aa.txt.tar ./aa.txt 打包aa.txt文件为aa.txt.tar,-z表示压缩命令、-c表示打包文件、-v表示显示打包过程、-f表示要打包的名字;aa.txt.tar表示打包后的文件名;./aa.txt 表示要压缩的文件
tar -xzvf aa.txt.tar 解压aa.txt.tar文件,-x表示解压,其他参数含义和压缩文件相同
四.权限
ll 含义:列表形式显示当前文件夹下文件/夹,ls -l命令的别名,-l : (list)以列表形式显示
最左边有10个字母,表示对应文件/夹的权限,其中首字母可以是:d(文件夹)、-(文件
)、l(链接);剩下9个子目每三个字母一组,一共三组,三组分别表示:当前用户权限、用户组权限、其他用户权限。r表示读权限,w表示写权限,x表示执行权限,-表示无权限。给文件/夹赋权,r用4表示,w用2表示,x用1表示,4+2+1=7,所以777是最高权限,表示:
rwxrwxrwx 当前用户、用户组、其他用户都有此文件的读、写、执行权限
实际应用中,尽量不要设置777权限,这个权限太大,存在安全隐患
chmod 755 a.txt 含义:给a.txt文件755权限,755即:rwxr-xr-x,当前用户读、写、执行权限,用户组和其他用户是读、执行权限
五:用户操作及其他
useradd zhangsan 创建zhangsan用户,此命令有两个前提,一是需要root用户登录(超级管理员);二是需要先切换到 /home文件夹下(根目录下的home文件夹,专门存放用户相关信息,新增,删除都必须在该文件夹下操作)
userdel zhangsan 删除zhangsan用户,两个前提条件和创建相同
passwd zhangsan 设置zhangsan用户密码
passwd -d zhangsan 清除zhangsan用户密码
su - zhangsan 切换到zhangsan账户
su - root 切换到超级管理员账户
netstat anp | grep 3306 查看使用3306端口的进程(其中 | 为管道,类似mysql中的where,netstat anp 表示查询出所有端口进程id,通过管道过滤出3306)
ps -ef | grep java 查看java进程(查出所有进程,通过管道命令过滤出java进程)
kill -9 5123 强制终止5123进程,-9表示强制