欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux常用命令

程序员文章站 2022-07-01 15:45:24
基本操作 注:linux系统中严格区分大小写 exit 退出 halt || init 0 || poweroff 关机 reboot || init 6 重启 ifconfig 查看网络设置 clear 清屏 上下箭头切换 历史指令 tab 补全指令 文件操作命令 列出文件list ls 列出当前 ......

基本操作

注:linux系统中严格区分大小写

exit

退出

halt || init 0 || poweroff

关机

reboot || init 6

重启

ifconfig

查看网络设置

clear

清屏

上下箭头切换

历史指令

tab

补全指令

文件操作命令

列出文件list

ls

列出当前目录所有文件

ls -d

列出指定目录下所有文件

ls -l

简写为ll,列出当前目录下所有文件的详细信息

ls -a 目录名

列出目录下所有文件,包含隐藏文件(.开头为隐藏文件)

切换目录change directory

cd 目录名

切换到某个目录下

cd /

切换到根目录

cd~ || cd

切换到当前用户的家目录

cd .

当前目录

cd ..

上级目录

打印工作目录print working directory

pwd 工作目录

工作目录

创建目录make directory

mkdir 目录名

创建一级目录

mkdir -p 目录名

递归创建目录

mkdir -m 777 目录

创建目录的同时指定权限(777:可读可写可执行)

拷贝文件copy

cp 源文件 目标文件

拷贝文件

cp -r 源文件 目标文件

递归拷贝

删除目录/文件remove

rm 文件

删除文件(提示是否删除,n表示不删除)

rm -f 文件

强制删除文件

rm -r 目录

递归删除目录

rm -rf 目录

强制删除目录

移动或重命名文件/目录move

mv 源文件 目标文件

移动文件

mv 文件 新文件名

重命名文件

basename 路径

获得路径中的文件名部分

dirname 路径

获得路径中目录部分

查看文件内容

cat 文件

查看文件内容

cat -n 文件

显示文件内容并显示行号

统计字符word count

wc 文件

同时统计行数、词数、字符数

wc -l 文件

只统计文件的行数

more分页查看文件的文件

space(空格)

显示下一页

enter(回车)

显示下一行

b || ctrl+b

显示上一页

:q

退出

:f

显示文件名,当前的行号

head、tail查询文件

head 文件名

默认查询文件前十行

head -n number 文件

查询前number

tail 文件

默认查询文件后十行

tail -n number 文件

查询后number

创建和编辑文件

touch 文件名

创建文件

vi || viw 文件名

编辑文件,若不存在则创建

根据文件名查找文件find(文件名可用正则表达式)

例:*.log 查找后缀为.log,前面任意数量任意字符

?.log 后缀为.log,前面任意一个字符

[abc].log 后缀为.log,前面是abc

[^abc].log 后缀为.log ,前面除了abc之外

find 目录范围 -name"文件名"

查找文件

find 目录 -mtime +3

修改时间大于三天

find 目录 -mtime -3

修改时间小于三天

find 目录 -mtime 3

修改时间等于三天

find 目录 -size +10k

查找当前目录下大于10k的文件

find 目录 -size -10k

查找当前目录下小于10k的文件

匹配内容grep

grep -n"内容" 文件

常规匹配

ps -e | grep "sshd"

管道匹配,过滤某个进程(相当于windows下的netstat -ano|findstr 3306

打包、解压(压缩、解压缩) c:create创建;x:extract解压;v:view显示压缩或解压缩的过程;f:file文件

tar zcvf 压缩包名称 文件/目录

将文件/目录打包

tar zxvf 压缩包名称

解压压缩包

统计磁盘的占用量

df -h

统计磁盘占用量

统计磁盘使用情况disk used

du -h

统计磁盘使用情况

软连接(symbolic link符号链接,其对应的文件类型为l,表示link,相当于windows下的快捷方式)

ln -s 源文件 连接文件

创建软连接(访问软连接:cat 连接文件)

硬链接hard link(两个文件名同时引用一个文件内容)

ln 源文件 连接文件

硬链接

vi/vim编辑器

i

insert在光标所在字符前插入内容

a

append在光标字符后面插入内容

o

在下一行的行首写入内容

底行模式

:w

保存

:q

退出底行模式

:wq

保存并退出

:q!

强制退出,不保存

:wq!

保存并强制退出

移动光标

上下键

移动光标

hjkl

h向左;j向下;k向上;l向右

^

快速移动到行首

$

快速移动到行尾

拷贝

yy

拷贝一行

3yy

拷贝3

yG

拷贝到文件末尾

y$

拷贝行尾

粘贴

p(小写)

当前光标的后一行粘贴

P(大写)

当前光标的前一行粘贴

删除

dd

删除一行

3dd

删除3

dG

删除到文件末尾

d$

删除到行尾

撤销

u(小写)

撤销(按几次撤销几次)

 

底行模式更多应用

:set nu

显示文件行号

/内容

从文件中查找内容

:set fileencoding

显示文件编码

用户管理

 普通用户的id500开始,系统用户的id500之前。

 创建一个新用户,会同时创建同名的分组。

 创建一个用户,在home目录创建和用户名同名的家目录

 /etc/passwd 保存所有用户信息

 /etc/shadow 保存用户密码

创建用户

useradd 用户名

创建新用户(默认普通用户)

useradd -r 用户名

创建系统用户

useradd -g 组名 用户名

创建用户时指定用户所属分组

useradd -r -s || sbin || nologin 用户名

创建系统用户并免登录

Passwd

给当前用户设置密码

passwd 用户名

给指定用户设置密码(输入两次)

userdel 用户名

删除用户,只删除该用户在/etc/passwd文件中的信息

userdel -r 用户名

删除用户同时删除该用户在home下的家目录

su 用户名

切换用户(由root用户切换到普通用户无需输入密码,反则需密码)

sudo 命令

给普通用户提权(需root提前在/etc/sudoers文件里给普通用户提权)

分组管理

 /etc/group 这个文件保存的是分组的信息

groups 用户名

查看指定用户所属分组

groupadd 组名

创建分组

groupadd -r 组名

创建系统分组

groupdel 组名

删除分组(若分组中存在用户,不可删除)

文件权限

chgrp 组名 文件

修改文件所属组

chown 用户名 文件

修改文件所有者

chmod 权限值 文件

修改3类用户对文件的权限

 权限由9个字符组成,每3个一组

 3个字符,对所有者设置的权限,r表示只读,用4表示;w表示可写,用2表示;x表示执行权限,用1表示

 中间3个字符,对所属组内用户的权限,r表示只读,用4表示;w表示可写,用2表示;x表示执行权限,用1表示

 3个字符,对其他用户的权限,r表示只读,用4表示;w表示可写,用2表示;x表示执行权限,用1表示

 常见权限:644755777(最高权限)

进程管理

 /etc/init.d/ 所有守护进程脚本,若要开机自启动,则将该进程加入其中

 /etc/rc.local/  若某些进程未提供守护进程的管理方式,但需其开机启动,将启动命令加入此文件夹

ps -e

列出当前运行的程序/进程

ps aux

列出进程的详细信息

ps -e | grep xxx

过滤某个进程

kill pid

终止进程(例:kill 1235

 有时可能会将进程的id保存在文件中,后缀常是.pid,终止该进程时则用kill `cat xxx.pid`

守护进程

chkconfig

查看一直运行的程序

 0-6,分别指在不同状态下的启动方式

 0,表示关机状态下

 6,表示重启时状态

chkconfig --list 进程

单独查看某个守护进程

chkconfig --level xxxx 进程 off||on

设置守护进程的运行方式

service 进程 start||stop||restart

启动/停止/重启进程(只针对守护进程)

定时任务

 /var/spool/cron/ 保存定时任务

 根据时间计划执行一些进程,定时执行(制定时间计划,设置执行命令)

 定时任务原理:系统默认运行了一个守护进程:crond(该服务会定时查看crontab里有无该执行的任务,若时间符合就会执行)

 时间节点书写格式:

7  固定的7个时间单位

57  时间列表,57时间单位

1-5 时间范围,15时间单位

*  每,每个时间单位

*/7  7个时间单位

crontab -e

触发一个编辑器,定义时间计划及要执行的命令(分 时 日 月 周 命令)

例:每天晚上3点定时备份数据库 0 3 * * * mysqldump -uroot -proot hytc>xxx

每隔2个小时提醒我休息 0 */2 * * * alert

每个工作日(1-5)下午6点发送 0 18 * * 1-5 sendmail

每周一9:30开始发送上周总结 30 9 * * 1 sendmail 

每一分钟把当前时间写入到date文件中 */1 * * * *date>>date.txt

date

命令,获取当前的时间

shell命令

命令解释器,将用户输入的命令找到该命令对应的文件

whereis 命令

查找指定命令的路径

ctrl+a

移动到命令开头

ctrl+e

将光标移动到命令结尾

ctrl+c

终止当前进程(撤销要执行的命令)

>>

输出重定向(默认一个命令会将内容输出到控制台,若需写入文件,则>>文件名)

|

管道符(将 | 前面的命令的输出作为 | 后面的输入)

&

后台运行,不在控制台显示

例:ps -e | grep sshd 先查询所有的进程,再从中过滤出sshd这个进程

网络连接类型

 /etc/sysconfig/network-scripts/ifcfg-eth0 保存虚拟机的网络地址配置文件

Bridge 桥接

将物理主机作为一个虚拟交换机(桥梁),实现虚拟机(centos)和外部网络进行连接

不能和宿主电脑一样的ip地址

NAT  网络地址转换

虚拟机无需设置静态IP,只需使用DHCP功能自动获取IP,该IP为虚拟,可减少IP地址占用量

Host-Only 仅主机模式

虚拟电脑(centOS)仅可与主机(宿主电脑win)进行通讯,不可连接外网

环境变量

 /etc/profile 保存环境变量(多个用冒号隔开)

 系统运行时,定义的一些变量,通常用来保存一些命令的位置。通过echo $PATH输出目前有哪些环境变量,若需添加新的环境变量,在文件中新增即可

 注:多个环境变量用:隔开

只能使用root用户执行source命令

 执行source/etc/profile命令,让环境变量生效

例:export PATH="$PATH:/home/admin"

挂载光盘

mount 目录

设备挂载点(目录)

umount 设备

取消挂载

安装软件

rpm安装

 Redhat Linux体系里面的软件安装包,以.rpm后缀,常称为rpm包管理

rpm -ivh 包名称

安装软件

rpm -e 安装包名称

卸载安装包

rpm -uvh 安装包名称

更新包

rpm -qa 安装包名称

查询安装文件

yum安装

 通过rpm方式进行安装,需解决依赖关系

 yum方式会自动解决安装包之间的依赖,并进行安装;需确定yum源,即当需要一个依赖文件时,去哪找此安装包

 yum源:

 基础来源,网络

 光盘来源,挂载的光盘

yum remove 安装包

卸载安装包

yum update 安装包

更新安装

configure

配置安装路径

make

编译

make install

安装

source 目录

让环境生效