【Liunx常用命令】回顾下Linux常用命令

Linux常用命令

  • 什么是Linux?
  • Linux系统的文件结构
  • 查看系统正在运行的所有进程:ps aux命令
  • 持续监听进程运行状态:top命令
  • 查找文本命令:grep命令
  • 用来替换文本行、删除文本行:sed 命令
  • 用来查看磁盘的空间占用情况:df
  • 还有一些常用的命令
    • 目录操作
    • 文件操作
    • 查看文件
    • 文件权限
    • 打包与解压
    • 其他常用命令

什么是Linux?

大家都知道常见操作系统有Windows、Linux、Mac OS、Android,华为的鸿蒙系统((HUAWEI Harmony OS))等等。
Linux系统用于服务器操作系统比较多,通常被认为是一套操作系统,实际上它是一系列Linux内核基础上开发的操作系统的总称,使用命令操作,运算速度快。在使用Linux系统时,一些常用的命令必须记住了,这样才能熟练的使用。命令的组成示例:命令 参数名 参数值
在Linux中每个执行的程序都称为一个进程,每一个进程都有都会分配一个进程号,叫pid。

Linux系统的文件结构

	/bin 二进制文件,系统常规命令
	/boot 系统启动分区,系统启动时读取的文件
	/dev 设备文件
	/etc 大多数配置文件
	/home 普通用户的家目录
	/lib 32位函数库
	/lib64 64位库
	/media 手动临时挂载点
	/mnt 手动临时挂载点
	/opt 第三方软件安装位置
	/proc 进程信息及硬件信息
	/root 临时设备的默认挂载点
	/sbin 系统管理命令
	/srv 数据
	/var 数据
	/sys 内核相关信息
	/tmp 临时文件
	/usr 用户相关设定

查看系统正在运行的所有进程:ps aux命令

输入
 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

【Liunx常用命令】回顾下Linux常用命令_第1张图片

持续监听进程运行状态:top命令

# top 命令可以动态地持续监听进程地运行状态,与此同时。
在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:
	? 或 h:显示交互模式的帮助
	P:按照 CPU 的使用率排序,默认就是此选项
	M:按照内存的使用率排序
	N:按照 PID 排序
	T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序
	k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号
	r:按照 PID 给某个进程重设优先级(Nice)值
	q:退出 top 命令

top 命令的输出内容是动态的,默认每隔 3 秒刷新一次。
命令的输出主要分为两部分:
第一部分是前五行,显示的是整个系统的资源使用状况,我们就是通过这些输出来判断服务器的资源使用状态的:

  1. 第一行为任务队列信息,
  2. 第二行为进程信息,
  3. 第三行为 CPU 信息,
  4. 第四行为物理内存信息,
  5. 第五行为交换分区(swap)信息

第二部分从第六行开始,显示的是系统中进程的信息。

查找文本命令:grep命令

如果要查找文件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

用来替换文本行、删除文本行:sed 命令

查找并替换每行第一个"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

用来查看磁盘的空间占用情况:df

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 文件

你可能感兴趣的:(java知识点学习和整理,linux,服务器,运维)