一、开关机命令
关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启
二、基础操作命令
操作命令基本形式:命令 [选项] [参数]
选项:命令中提供的一些选项
参数:为此命令提供的参数,例如路径等
1.1 ls命令
ls [-a -l -h] [参数]
ls 查看当前目录下的所有目录和文件
ls -a: 查看所有文件(包括隐藏文件)
ls -l 或者 ll : 以列表的形式展示文件和文件夹(也可以直接用 ll 命令)
可以多个选项同时调用
ls -al(al或la顺序无影响) 以列表形式查看所有文件,包括隐藏文件
ll -h 表示以便于阅读的形式列出来文件大小,K,M,G
1.2 pwd命令
pwd 命令
pwd 查看目前所在的文件目录
1.3 mkdir 创建目录命令
mkdir [-p] [参数]
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
mkdir -p lcg/0214 如果父目录不在则创建多级目录
1.4 rm(删除文件 支持通配符)
rm [-r -f] [参数]
-r 表示递归用于删除文件夹
-f 表示强制删除,(普通用户不会提示信息,管理员用户才会有提示)
rm -r a.txt b.txt 删除多个的时候可以直接空格拼接多个文件或者文件夹
删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -r test* 删除当前目录下的所有test开头的文件
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 将根目录下的所有文件全部删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
1.5 touch(创建文件)
touch [参数]
touch 文件名 在当前目录下创建文件
touch /home/lcg/Desktop/a.txt 在指定目录创建文件
1.6 查看文件内容(txt conf等):
cat 路径/文件名 显示文件内的全部内容
more 路径/文件名 显示文本内容 可以分页显示,不是一页全部展示出来(按q退出)
1.7 mv(目录修改)
mv 当前目录 新目录
注意:当新目录不存在则为改名的效果,若存在则为移动文件,移动到文件夹下后面带个/
mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行重命名的操作
1.8 cp(文件复制)
cp a.txt b.txt 将a.txt文件复制到当前文件夹目录下名为b.txt文件,内容相同
cp -r /home/lcg lcg2 复制文件夹的时候需要带-r的选项
1.9 查询
which which用来查找命令所存放的位置 例如 which cd
find(适用通配符) 按照名称或者文件大小进行查找
find 搜索目录 参数[-name] 文件名称
示例:find /usr/tmp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件
find 搜索目录 参数[-size] +|-n[kMG]
+代表大于,-代表小于
n代表大小数字
k(小写)代表kb,M代表MB,G代表GB
示例:find / -size +10k | find / -size -50M
2.1 grep 文件关键字过滤
grep [-n] 过滤的关键字 文件路径
-n 再过滤的结果中显示行号
例子:grep -n “lcg” /home/a.txt 查询a.txt文件内的lcg字段
2.2 wc(数量统计 文件行数,单词数量等)
wc [-c -m -l -w] 文件路径
-c 统计bytes的数量
-m 统计字符的数量
-l 统计行数
-w 统计单词数量
wc a.txt 默认查询 -l(行数) -w(单词数) -c(字节数)
2.3 |(管道符)
含义:将管道符左边的命令得到的结果作为管道符右边内容的输入
例如 grep “lcg” a.txt === cat a.txt | grep “lcg”
2.4 echo(输出命令 类似print)
echo “输出内容”
2.5 反引号` (~键)
作用是将反引号里面的内容作为命令输出
例如 echo pwd
2.6 重定向符
> 将左侧的命令结覆盖的形式写入右侧文件
例如 echo “hello” > a.txt
>> 将左侧的命令追加的形式写入右侧文件
2.7 tail命令(从文件尾部开始查看内容)
tail [-f -num] Linux路径
参数:Linux路径,表示被跟踪的文件路径
-f: 表示持续跟踪(当追踪的文件插入新数据的时候自动展示)
-num (具体化为数字):表示查看尾部多少行,不填默认10行
2.8 修改文件 vi或vim
【vi编辑器的3种模式】
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
-
命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i o a
【5】进入底行模式:: -
编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式; -
底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
4)内容替换方法
- 基本的替换
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/vivian/sky/(等同于 :g/vivian/s//sky/)替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
5)快捷键
$:跳转到本行尾部
dw:删除一个单词
ndd:n代表数量,5dd代表删除5行(包括本行)
nyy:n代表数量,复制
p:粘贴
u:撤销,相当于ctrl+z
/需要搜索的内容:查找内容
打开文件
命令:vi 文件名 如果文件不存在则会创建文件
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
保存文件:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑
取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
三、账户管理
3.1 su(切换用户)
su [-] 用户名
- 代表切换用户加载的环境变量 建议加上
su 用户名 例如 su root
3.2 sudo命令
sudo 其他命令
- sudo可以为普通的命令授权,临时以root的身份执行
但是并不是所有的用户,都有权利使用sudo,需要为普通用户配置sudo认证 - 认证:root用户执行visudo 自动打开/etc/sudoers 文件,在文件最后添加
用户名 ALL=(ALL) NOPASSWD:ALL(表示用户使用sudo不需要输入密码)
然后在普通用户的身份下执行命令 如 sudo 其他命令 即可拥有操作权限
3.3 用户和用户组
Linux系统对文件权限的分配为用户和用户组,一个用户可以加入多个用户组
(下列命令需要在root用户下)
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
创建用户
useradd [-g -d] 用户名
-g: 指定用户组,不指定自动创建与用户名重名的用户组并加入,
-d: 指定用户Home目录,不使用-r 默认/home/用户名
删除用户
userdel [-r] 用户名
-r: 使用则删除/home下的用户目录,不使用则保留
查看用户所属组
id[用户名]
用户名:被查看的用户,如果不提供参数则查看自身
修改用户所属的组
usermod -aG 用户组 用户名
将指定的用户加入用户组
3.4 getent命令(可以查看当前系统中有哪些用户)
命令:getent passwd
结果:lcg: x:1000:1000:lcg:/home/lcg:/bin/bash
解析:用户名:密码(x):组ID:描述信息(无用):HOME目录:执行终端(默认bash)
命令:getent group
结果:lcg: x:1000:
解析:组名称:组认证(显示为x):组ID
3.5 chmod (修改文件、文件夹的权限信息)
chmod [-R] 权限 文件或文件夹
-R 对文件夹内全部内容应用同样的操作
注意:只有文件、文件夹的所属用户或者root用户才可以更改
示例:
chmod u=rwx,g=rx,o=x hello.txt ,将文件权限修改为:rwxr-x–x
其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限
chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x–x
除此之外,还有快捷写法:chmod 751 hello.txt
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。
数字的细节如下:r记为4,w记为2,x记为1,可以有:
0:无任何权限, 即 —
1:仅有x权限, 即 --x
2:仅有w权限 即 -w-
3:有w和x权限 即 -wx
4:仅有r权限 即 r–
5:有r和x权限 即 r-x
6:有r和w权限 即 rw-
7:有全部权限 即 rwx
所以751表示: rwx(7) r-x(5) --x(1)
3.6 chown(修改权限控制)
chown [-R] [用户] [:] [用户组] 文件或文件夹
-R: 同chmod,对文件夹内全部内容应用相同规则
用户: 修改所属用户
用户组: 修改所属用户组
: 用于分隔用户和用户组
注意:普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行
示例:
chown root hello.txt,将hello.txt所属用户修改为root
chown :root hello.txt,将hello.txt所属用户组修改为root
chown root:itheima hello.txt,将hello.txt所属用户修改为root,用户组修改为itheima
chown -R root test,将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则
基本命令基本没什么问题可以进一步学习Linux系统的基本操作