大家都知道常见操作系统有Windows、Linux、Mac OS、Android,华为的鸿蒙系统((HUAWEI Harmony OS))等等。
Linux系统用于服务器操作系统比较多,通常被认为是一套操作系统,实际上它是一系列Linux内核基础上开发的操作系统的总称,使用命令操作,运算速度快。在使用Linux系统时,一些常用的命令必须记住了,这样才能熟练的使用。命令的组成示例:命令 参数名 参数值
在Linux中每个执行的程序都称为一个进程,每一个进程都有都会分配一个进程号,叫pid。
/bin 二进制文件,系统常规命令
/boot 系统启动分区,系统启动时读取的文件
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定
输入
ps aux
输出
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 40352 5040 pts/0 Ss+ 22:09 0:00 /bin/zsh
# top 命令可以动态地持续监听进程地运行状态,与此同时。
在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:
? 或 h:显示交互模式的帮助
P:按照 CPU 的使用率排序,默认就是此选项
M:按照内存的使用率排序
N:按照 PID 排序
T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序
k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号
r:按照 PID 给某个进程重设优先级(Nice)值
q:退出 top 命令
top 命令的输出内容是动态的,默认每隔 3 秒刷新一次。
命令的输出主要分为两部分:
第一部分是前五行,显示的是整个系统的资源使用状况,我们就是通过这些输出来判断服务器的资源使用状态的:
第二部分从第六行开始,显示的是系统中进程的信息。
如果要查找文件test.txt中含有"hello"字符串的行:
grep hello test.txt
使用正则表达式查找文件test.txt中含有数字的行:
grep -E "\d." test.txt
查找文件test.txt中不包含"hello"字符串的行:
grep -v hello test.txt
查找文件test.txt中含有"movie"字符串的行以及它前面的3行:
grep movie -B 3 test.txt
查找文件test.txt中含有"movie"字符串的行以及它后面的3行:
grep movie -A 3 test.txt
查找文件test.txt中含有"4."字符串的行以及它前后3行:
grep 4. -C 3 test.txt
查找并替换每行第一个"hello"为"你好":
sed 's/hello/你好/' test.txt
查找替换每行中所有的"hello"为"你好":
sed 's/hello/你好/g' test.txt
删除含有"hello"的行:
sed '/hello/d' test.txt
删除第2行:
sed '2d' test.txt
删除第最后一行:
sed 'd' test.txt
删除第2行到最后一行:
sed '2,d' test.txt
du 命令用来查看目录的空间占用情况,默认会统计到所有子目录
其中选项-h表示以K,M,G为单位,提高信息的可读性,其中选项-s表示只显示统计汇总信息
这两个命令都有很多选项,常用的例子是:
查看系统磁盘的空间占用情况:
df -h
查看指定目录的空间占用情况:
du /var/ -h
查看指定目录的空间占用情况,只显示汇总信息:
du /var/ -sh
查询指定目录下的直接子目录空间占用情况,只显示汇总信息:
du /var/*/ -sh
命令 | 解释 |
---|---|
shutdown -h now 或者 poweroff | 立刻关机 |
shutdown -h 2 | 两分钟后关机 |
shutdown -r now 或者 reboot | 立刻重启 |
shutdown -r 2 | 两分钟后重启 |
ifconfig --help | 查看 ifconfig 命令的用法 |
man shutdown | 命令说明书 |
su ly | 切换用户 |
cd /root/ | 切换目录 |
ls | 查看目录 |
cd /root/ | 切换目录 |
1 切换目录(cd)
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd …/ //切换到上一级目录 或者使用命令:cd …
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
2 查看目录(ls)
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin //查看指定目录下的所有目录和文件
3 创建目录(mkdir)
mkdir tools //在当前目录下创建一个名为tools的目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
3 删除目录与文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
4 修改目录(mv)
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
5 拷贝目录(cp)
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
6 搜索目录(find)
find /bin -name ‘a*’ //查找/bin目录下的所有以a开头的文件或者目录
7 查看当前目录(pwd)
pwd //显示当前位置路径
1 新增文件(touch)
touch a.txt //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间
2 删除文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
3 编辑文件(vi、vim)
vi 文件名 //打开需要编辑的文件
–进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":“进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 “-- 插入 --””
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
操作步骤示例
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
补充
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
cat a.txt //查看文件最后一屏内容
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -100 a.txt //查看文件的后100行,"Ctrl+C"退出查看
1 权限说明
文件权限简介:‘r’ 代表可读(4),‘w’ 代表可写(2),‘x’ 代表执行权限(1),括号内代表"8421法"
##文件权限信息示例:-rwxrw-r–
-第一位:'-'就代表是文件,'d’代表是文件夹
-第一组三位:拥有者的权限
-第二组三位:拥有者所在的组,组员的权限
-第三组三位:代表的是其他用户的权限
2 文件权限
普通授权 chmod +x a.txt
8421法 chmod 777 a.txt //1+2+4=7,"7"说明授予所有权限
1 说明
.zip、.rar //windows系统中压缩文件的扩展名
.tar //Linux中打包文件的扩展名
.gz //Linux中压缩文件的扩展名
.tar.gz //Linux中打包并压缩文件的扩展名
2 打包文件
tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
示例:
tar -zcvf a.tar file1 file2,… //多个文件压缩打包
3 解压文件
tar -zxvf a.tar //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容
1 find
find . -name “*.c” //将目前目录及其子目录下所有延伸档名是 c 的文件列出来
find . -type f //将目前目录其其下子目录中所有一般文件列出
find . -ctime -20 //将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} ; //查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find . -type f -perm 644 -exec ls -l {} ; //查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find / -type f -size 0 -exec ls -l {} ; //为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
2 whereis
whereis ls //将和ls文件相关的文件都查找出来
3 which
说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
which bash //查看指令"bash"的绝对路径
4 sudo
说明:sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。需要输入自己账户密码。
使用权限:在 /etc/sudoers 中有出现的使用者
sudo -l //列出目前的权限
$ sudo -u ly vi ~www/index.html //以 ly 用户身份编辑 home 目录下www目录中的 index.html 文件