linux 常用命令


基础指令

ls命令

ls [选项]【路径】
ls -l	 详细地显示文件/文件夹(缩写为ll)
ls -la	显示包括隐藏文件的文件/文件夹
ls -lh 路径	显示指定路径下所有文件/文件夹,文档大小以可读性较高的形式显示

pwd命令

语法: #pwd

显示当前所在的路径

mkdir rmdir 创建、删除目录

语法:#mkdir 目录名

touch 创建文件

语法:#touch 文件路径

cp 复制

语法:#cp 被复制的文件路径 文件要复制到的路径(可更改文件名称)

mv 移动 剪切

语法:#mv 原文件路径 要移动到的目标路径(可更改文件名称)

rm 删除命令

语法:#rm 选项 要删除的文件路径
作用:带询问的删除文件(不能删除非空目录)
选项:
rm -f 强制(force)删除,不带询问的删除
rm -r 递归删除(用于删除目录)
rm -rf 合并上述两个功能

‘ * ’ 通配符

vi vim编辑器

文件编辑器

vi既可以查看文件也可以编辑文件。 三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、a、o键;
    i 在当前位置生前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行

切换到底行模式:按 :(冒号)

打开文件:vim file
退出:esc  :q
修改文件:输入i进入插入模式
保存并退出:esc:wq

不保存退出:esc:q!

------------------------------删除---------------------------------
dd	删除游标所在的那一整行(常用)
ndd	n为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
dG	删除光标所在到最后一行的所有数据
d$	删除游标所在处,到该行的最后一个字符

------------------------------移动光标---------------------------------
0 	或功能键[Home]	这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 	或功能键[End]	移动到这一行的最后面字符处(常用)
gg	移动到这个档案的第一行,相当于 1G 啊! (常用)
G	移动到这个档案的最后一行(常用)


------------------------------查找和替换---------------------------------
/word	向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word	向光标之上寻找一个字符串名称为 word 的字符串。

:1,$s/word1/word2/g 或 
:%s/word1/word2/g	从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

> 输出重定向

语法:#正常执行指令 > / >> 文件路径

例:#ls -la > 1.txt 将#ls -la指令显示的内容,输出到1.txt文件中

( > ) 覆盖输出到文件中

( >> ) 追加输出到文件中

cat 指令

作用1:直接打开一个文件

语法:#cat 文件路径

作用2:合并多个文件

语法:#cat 文件1 文件2 ... > 合并后的文件路径

tar 指令

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。

常用参数:

-c:创建一个新tar文件

-v:显示运行过程的信息

-f:指定文件名

-z:调用gzip压缩命令进行压缩

-t:查看压缩文件的内容

-x:解开tar文件

打包:
	tar –cvf xxx.tar ./*
打包并且压缩:
	tar –zcvf xxx.tar.gz ./* 

解压 
     tar –xvf xxx.tar
     tar -xvf xxx.tar.gz -C /usr/aaa

进阶指令

df 查看磁盘空间

语法:#df -h -h表示以可读性较高的形式显示

free 查看内存使用情况

语法:#free -m -m表示以MB为单位显示(可使用 -k )

head 指令 : 查看文件的前n行

head 语法:#head -n 文件路径 (查看文件的前n行,若n不指定,默认为10行)

tail 指令:查看文件的后n行

  • 语法1:#tail -n 文件路径 (查看文件的后n行,若n不指定,默认为10行)

    tail -10 /etc/passwd 查看后10行数据

  • 语法2:#tail -f 文件路径(查看指定文件的动态变化,用于查看日志,q键退出

    tail -f catalina.log 动态查看日志(***********)

less 查阅指令

作用:查看文件,以较少内容输出,以按下辅助功(数字+回车、空格键、方向键)能键查看更多

语法:#less 查看的文件路径

q退出

wc 统计文件内容信息

统计的信息包括 行数、单词数、字节数
语法:#wc  -lwc  需要统计的文件路径
	-l	表示lines,行数
	-w	表示words,单词数
	-c	表示character,字符数

date 日期指令

作用:操作时间和日期(读取、设置)

  • 语法1:#date
  • 语法2:#date +%F(输出形式:2019-12-10)
  • 语法2:#date “+%F %T”(输出形式:2019-12-10 15:45:33
  • 等同于语法2:#date “+%Y%m%d %H%M%S”(输出形式:2019-12-10 15:45:33)

%F:表示完整的年月日

%T:表示完整的时分秒

%Y:表示四位的年份

%y:表示两位的年份

%m:表示月份

%d:表示日期

%H:表示小时

%M:表示分钟

%S:表示秒

cal 日历指令

  • 语法1:#cal 等价于#cal -1 输出当月日历
  • 语法2:#cal -3 输出上个月、本月、下个月的日历语法3:#cal -y 指定年份输出指定年份的日历

管道 |(重要)

**管道符 | **

grep 过滤

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入

示例
#ls --help | more  分页查询帮助信息

#ps –ef | grep java  查询名称中包含java的进程

#cat 路径 | less

高级指令

hostname 指令

作用:操作服务器的主机名

语法1:#hostname		输出完整的主机名
语法2:#hostname -f	输出当前主机名中的FQDN(全限定域名)

id 指令

作用:查看用户的基本信息(用户id,用户组id,附加组id ...)

语法:#hostname [用户名]

用户信息在文件:/etc/passwd

用户组信息在文件:/etc/group

who 指令

作用:显示当前登录的用户名,一般用于shell脚本

语法:#who 或者 #whoami

ps -ef 查看服务器指令

指令:ps [选项]

作用:用于查看服务器的进程信息

选项含义:

-e:列出全部进程

-f :显示全部的列
案例:在ps的结果中过滤出想要查看的进程
#ps -ef | grep 进程名称

top 指令

作用:动态显示服务器进程所占的资源

语法:#top

q键退出

在运行top时,可按快捷键友好显示

M:表示将结果按照内存(MEM)降序排列

P:表示将结果按照CPU使用率降序排列

1:当服务器有多个CUP时使用“1”快捷键切换展示各个CPU的详细信息

du -sh 显示目录大小

显示目录的真实大小

语法:#du -sh 目录路径

选项含义:

  • -s :只显示汇总大小
  • -h:以较高可读性的形式进行显示

find 查找

作用:搜索文件

语法:#find 路径范围 选项 选项的值

选项含义:

  • -name:按照文档名称进行搜索(支持模糊搜索)
  • -type:按照文档的类型进行搜索
    • 文档类型:“-”表示文件(在使用find时要使用f来替换),“d”表示文件夹
案例1:搜索httpd.conf
	#find / -name httpd.conf
拓展:统计搜索后的数量
	#find / -name httpd.conf | wc -l

案例2:搜索etc目录下的所有conf后缀的文件
	#find /etc -name *.conf
	
案例3:搜索/etc/sane.d/目录下的所有文件
	#find /etc/sane.d/ -type f

service 服务指令(重点)

作用:用于控制一些软件的服务启动/停止/重启

语法:#service 服务名 start / stop / restart

kill 指令

作用:杀死某一进程 (用于僵尸进程或者处于某些原因需要关闭进程的时候)

  • 语法1:#kill 进程名称PID ( 需配合ps一起使用)
  • 语法2:#killall 进程名称PID

ifconfig 网络指令

语法: #ifconfig 查看网络IP

重启/关机命令

- #shutdown -h now 	关闭系统(1) 
- #init 0 		   关闭系统(2) 
- #telinit 0 		关闭系统(3) 
- #halt			关闭系统(4) 
- #poweroff		关闭系统(5) 
- #shutdown -r now 	重启(1) 
- #reboot 			重启(2) 
- #shutdown -h hours:minutes  定时关机 
- #shutdown -c 或 Ctrl+c 	取消按预定时间关闭系统
- #logout 			注销

uptime 指令

作用:输出计算机的持续在线时间(从开机到现在的时间)

语法:#uptime

uname 指令

作用:获取操作系统的详细信息

语法:#uname -a

netstat -tnlp 指令

作用:查看网络连接状态

语法:#natstat -tnlp

选项含义:

  • -t :表示只列出tcp协议的连接
  • -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
  • -l:表示过滤出“state(状态)”列中值为listen(监听)的连接
  • -p:表示显示发起连接的进程PID和进程名称

man 查看命令

作用:查看某个命令的描述和用法

语法:#man 命令

运行级别

init 命令

语法:#init [1-6]

init的一个进程号为1的进程,存在一个与之对应的配置文件:/etc/inittab(系统运行级别配置文件)

内容如下:

0 —关机级别(不要将默认运行级别设置成这个值)

1—单用户模式

2—多用户模式(相当于3,但是没有网络)

3—多用户模式(完整的)

4—没有被使用的模式

5—X11,完整的图形化界面模式

6—表示重启级别(不要将默认运行级别设置成这个值)

默认为3

用户和用户组

用户管理

相关配置文件

/etc/passwd 存储用户的关键信息

/etc/group 存储用户组的关键信息

/etc/shadow 存储用户的密码信息

1、添加用户

常用语法:#useradd 【选项】 用户名

常用选项:
	* -g:指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
	* -G:指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
	* -u:表示uid,用户唯一标识,系统会默认从500之后按顺序分配uid,若不想用系统分配的,可以通过该选项自定义
	* -c:添加注释

案例 :#useradd zhangsan

1、系统会默认创建一个同名的家目录

2、系统会默认创建一个同名的用户组

2、修改用户

语法:#usermod 【选项】 用户名

常用选项:
	* -g:指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
	* -G:指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
	* -u:表示uid,用户唯一标识,系统会默认从500之后按顺序分配uid,若不想用系统分配的,可以通过该选项自定义
	* -l:修改用户名

3、设置/更改密码

linux不允许没有密码的用户登录到系统,新创建而没有密码的用户都处于锁定状态,需要设置密码到才能登录计算机。

语法:#passwd 用户名

4、切换用户

语法:#su 【用户名】

不指定用户名则表示切换到root用户

su --> switch user

5、删除用户

语法:#userdel -r 用户名

选项含义:-r :表示删除用户的同时,删除其家目录

小提示:已经在登录的用户不能被删除

解决办法:简单粗暴,kill命令干掉用户对应的全部进程

用户组管理

每个用户都都有一个用户组,系统可以对一个用户组中的所欲用户进行集中管理。不同linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。组的添加、删除和修改实际上就是对/etc/group文件的更新。

group文件的结构:

用户组名:密码:用户组ID:组内用户

1、用户组添加

语法:#groupadd 【选项】 用户组名

选项含义:-g:表示自己设置一个自定义的用户组ID数字,若不指定则默认从500开始递增

2、用户组修改

语法:#groupmod 【选项】 用户组名

常用选项含义:

  • -g:表示自己设置一个自定义的用户组ID数字
  • -n:设置新的用户组名

3、用户组删除

语法:#groupdel 用户组名

注意:当需要删除一个用户组,但该用户组是某个用户的主组时,不允许删除。应先移除组内所有用户

网络设置

网卡配置文件位置:/etc/sysconfig/network-scripts/

  • 重启网卡操作1:#service network restart

并不是所有linux都有service命令来快速操作服务,但都有一个共性的目录:/etc/init.d/,这目录中存放着对服务的快捷方式

  • 重启网卡操作2:#/etc/init.d/network restart
其他操作:
ifconfig 查看IP

ifconfig eth0 显示一个以太网卡的配置 

ifup eth0 启用一个 'eth0' 网络设备 

ifdown eth0 禁用一个 'eth0' 网络设备 

软连接(#ln -s)

如果经常需要操作一个文件,但是这个文件的目录层次很深,可以在浅的目录中创建一个软连接,方便以后操作。

语法:#ln -s 深目录的文件路径 浅路径文件路径 连接名称

SSH服务(重点)

ssh(secure shell,安全外壳协议),该协议2个常用的作用:远程连接协议,远程文件传输协议。

协议默认使用端口号:22

配置文件位置:/etc/ssh/ssh_config

端口号范围:0-65535

服务的启动/停止/重启

  • 语法1:#service sshd start / stop / restart
  • 语法2:#/etc/init.d/sshd start / stop / restart

文件权限

三种权限:

r(read) w(write) x(execute)
4 2 1

u:user,文件拥有者

g:group,文件所在用户组

o:others,文件其他用户

a:all,所有用户,相当于ugo

可用 +/- 添加/取消权限

r:读权限,可用数字 4 表示

w:写权限,可用数字 2 表示

x:执行权限,可用数字 1 表示

s:管理员权限

1、更改文件的 rwx 权限

语法1:#chmod 权限 文档路径

例:

chmod 755 a.txt 将a.txt权限改为755 ( -rwxr-xr-x )

chmod o+r a.txt 增加其他用户对 a.txt 的读权限

chmod u=rwx,g=rx,o=rx a.txt

2、更改文件的所属的用户和组

语法:#chown 【选项】 用户名:用户组名 文档路径

例:chown zhangsan:admin a.txt 将a.txt文件更改为admin组的zhangsan用户所属

常用选项:

-R:变更目录时同时变更目录中的所有的子目录及文件的所属用户和组

例:chwon -R lisi:admin dir 将dir目录以及里面的所有目录和文件都更改为admin组的lisi用户所属

语法案例:

chmod 变更文件或目录的权限。
chmod 755 a.txt 
chmod u=rwx,g=rx,o=rx a.txt
chmod 777 a.txt chown 变更文件或目录改文件所属用户和组
chown zs:admin a.txt	:变更当前的目录或文件的所属用户和组
chown -R lisi:admin dir	:变更目录中的所有的子目录及文件的所属用户和组

posted @ 2021-03-16 12:14  乐子不痞  阅读(101)  评论(0编辑  收藏  举报
回到顶部