Linux常用命令
一、基本命令
1.1.关机和重启
关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启
帮助命令
help命令:
shutdown --help
ifconfig --help #查看网卡信息
man命令:
man shutdown
man shutdown打开命令说明书之后,使用按键q退出
二、目录操作命令
2.1目录切换
cd / 切换到根目录
cd ~ 切换到home目录
cd - 切换到上次访问的目录
cd ../或cd.. 切换到上一级目录
cd /user 切换到根目录下的user目录
2.2目录查看:
ls 查看当前目录的所有文件
ls-a 查看当前目录下的所有文件包含隐藏文件
ls-l或 列表查看当前目录下的所有目录和问津
ls /dir 查看制定目录下的文件,如ls/user
2.3目录操作(增删改查):
2.3.1创建目录(增)
命令:madir
makdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
2.3.2删除目录或文件(删)
命令:rm [-rf] 目录
删除文件
rm 文件 删除当前目录下的文件
rm -f 删除当前目录的的文件(不询问)
删除目录
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
2.3.3目录修改(改)
1.重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改成bbb
注意:mv语法不仅可以对目录进行重命名,而且也可以对各种文件,压缩包等进行重命名
2.剪切目录
命令:mv 目录名称 目录的的心位置
例如:mv user/temp/aaa /user 将/usr/tmp目录下的aaa目录剪切到 /usr目录下面
3.拷贝命令
cp -r 目录名称 目录拷贝的目标位置 -r代表递归
例如: 将user/tempm目录下的aaa目录复制到/user目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用 写-r递归
4.搜索目录(查)
命令:find 目录 参数 文件名称
例如:finf user/temp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件
命令:locate
在整科棵目录树中搜索文件或者目录,都是根据名称搜索,效率高
但因为linux机制,刚创建的文件不一定即使存在,所以需要先同步
locate
2.4过滤命令
命令:grep
在前一个搜索命令中的结果中进一步按照名称过滤:搜索命令 |grep [选项] 过滤条件 查看命令 |grep [选项] 过滤条件
例如 find * .txt|grep new 搜索当前目录下,名称包含new的.txt文件
ls -al |grep 查看列出当前名字有new.txt的
cat a.txt|grep b 查看当前文件包含b的
三、文件操作命令
3.1 文件操作(增删改查)
3.1.1新建文件(增)
命令:touch 文件名
示例:touch aa.txt 在当前目录创建一个名为aa.txt的文件
3.1.2删除文件 (删)
命令:rm -rf 文件名
3.1.3 修改文件(改)
命令:vi或vim
vim编辑器的3种模式
1.命令行模式(command mode)
控制屏幕光标的移动、字符、字或者行的删除查找以进入insert mode或者进入last line mode
【1】控制光标移移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i a o
【5】进入底行模式::
2.编辑模式(Insert mode)
只有在insert mode 下才可以做文字输入
按「ESC」键可回到命令行模式。
3.底行模式(last line mode)
将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
vim打开文件
命令:vim 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
vim编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
3.1.4 文件的查看【查】
文件的查看命令:cat/more/less/tail
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
示例:more sudo.conf
使用more查看/etc/sudo.conf文件,可以显示百分比
回车可以向下一行
空格可以向下一页
q可以退出查看
less:翻页查看
示例:less sudo.conf
使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上上和向下翻页
q结束查看
tail:指定行数或者动态查看
示例:tail -10 sudo.conf
使用tail -10 查看/etc/sudo.conf文件的后10行
Ctrl+C结束
3.2权限修改
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限
四、压缩解压文件操作
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz
4.1压缩解压单个文件:
命令:gzip
例如:gzip aa.txt 将aa.txt压缩成aa.txt.gz
解压单个文件:
命令:gunzip
例如:gunzip aa.txt 将aa.txt.gz解压成aa.txt
4.1压缩解压多个文件:
命令:zip
用法:zip 目标文件名称(通常使用.zip压缩包) 文件或者目录列表
例如:zip test.zip a.txt b.txt 将 a.txt b.txt压缩成test.zip
解压到当前目录
命令:unzip 压缩名 将指定的压缩包解压到当前目录
例如: unzip test.zip
解压到指定目录
命令:unzip 压缩名 -d 解压目录名字
用法:将指定的压缩包解压到执行目录
例如 :unzip test.zip -d tom
解释:将 test.zip 解压到 tom
压缩(打包)或者解压多个文件目录:
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
其中:z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
用法:tar -zcvf test.tar.gz a.txt b.txt
tar -zxvf test.tar.gz
tar -zcvf test.tar.gz -c tom
五、文件与组
5.1组的概念以及分类
linux中:
每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组
在在linux中,每一个文件也必须属于一个组,而且只能属于一个组
在文件或者目录看来,linux系统中对素有用户分为三类:
1.所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
2.同组用户:跟文件或者目录属于同一组的用户
3.其它组用户:既不是所有者也不是同组用户
查看文件的所有者以及分组: ls-l
5.2修改文件所有者
命令:chown 新的所有者 文件名
例如:chown zhangsan t.txt
解释: 将t.txt的所有者修改zhangsan
命令:chown 新的所有者:新的组 文件名
例如:chown zhangsan:dev t.txt
解释: 将t.txt的所有者修改为zhangsan,组修改为dev
命令:chown -R 新的所有者:新的组 文件名
解释:递归的修改
5.3修改文件所在组
chgrp 新的组名 文件名
chgrp -R 新的组名 目录名 (-R递归的改目录)
5.4文件或者目录的三种权限
在linux中,任何文件或者目录都有三种权限:读(read),写(write),执行(execute)
六.用户与用户组管理(重点)
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用密码的管理。
用户组的管理。
6.1用户管理
1.添加用户
常用语法:useradd 选项 用户名
常用选项:
-g 表示指定的用户组主组,选项的值可以是用户组的id,也可以是组名
-G表示指定的用户组附加组,选项的值可以是用户组的id,也可以是组名
-u uid,用户的id(用户标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
参数选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
案例:创建zhangsan用户,不带任何选项
useradd zhangsan
验证是否成功:
1.cat etc/passwd 最后一行,查看是否有zhangsan
2.ll /home 验证是否有家目录
2删除用户
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。‘
删除一个已有的用户账号使用userdel
命令,其格式如下
命令:userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
例如:userdel -r zhangssan
此命令删除用户zhangsan在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
3.修改账号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod
命令,其格式如下:
usermod 选项 用户名
4.用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd
。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
6.2Linux系统用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
1、增加一个新的用户组
groupadd 选项 用户组
可以使用的选项有:
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2:
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2.删除一个已有的用户组
groupdel 用户组
3.修改用户组
groupmod 选项 用户组
常用的选项有:
-
-g GID 为用户组指定新的组标识号。
-
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-
-n新用户组 将用户组的名字改为新名字
实例1:
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
实例2
# groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group
七、运行级别
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3(multi-user.target)和5(graphical.target),也可以指定默认运行级别。
1.指定运行级别
语法:init 运行级别
案例:
init 3 设置当前的运行级别为3
2.查看当前运行级别
语法:
runlevel
3.查看默认运行级别
语法:
systemctl get-default
4.设置默认运行级别
语法:systemctl set-default TARGET.target
案例:
systemctl set-default multi-user.target 设置默认运行级别为多用户状态有网络服务,也就是运行级别3
systemctl set-default graphical.target 设置默认运行级别为tu
在centos7之前,是通过/etc/inittab 文件来设置的,目前这个文件被弃用了。
八、帮助命令
1.man
获取帮助信息
语法:man 命令或配置文件
案例:
man ls 获取ls命令的帮助信息
说明:
1)在帮助信息界面,可以按空格向下翻页,当然也可以使用鼠标滚轮。
2)按q键退出,返回到命令行
3)命令一般的格式为:命令 [选项] [参数] 例如:ls -a /home
2.help
获取shell内置命令的帮助信息
语法:help 命令
案例:
help cd 获取cd命令的帮助信息
3.大部分情况下,man是没有汉化的,如果英文不太好,百度更靠谱
九、文件目录类
pwd显示/打印当前工作目录的绝对路径(Print Working Directory**)**
十、定时任务
命令:* * * * * command
解释:分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
先打开定时任务所在的文件:
crontab -e
每分钟执行一次date命令
*/1 * * * * date >> /root/date.txt
每晚的21:30重启apache。
30 21 * * * service httpd restart
每月1、10、22日的4 : 45重启apache。
45 4 1,10,22 * * service httpd restart
每周六、周日的1 : 10重启apache。
10 1 * * 6,0 service httpd restart
每天18 : 00至23 : 00之间每隔30分钟重启apache。
0,30 18-23 * * * service httpd restart
晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * service httpd restart