linux常用命令

Posted 编程成长记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux常用命令相关的知识,希望对你有一定的参考价值。

基本操作

注: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 目录

让环境生效

以上是关于linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

linux常用命令多少个

Linux第二章-Linux常用命令

Linux文本操作常用命令

:常用工具命令第23节:常用命令 - Linux命令

Linux常用命令

Linux部署项目常用命令