Linux基本命令
首先了解一下Linux的目录结构
命令提示符
[root@localhost ~]#
root 当前登陆用户
localhost 主机名:
-
~ 当前所在目录(家目录)
如果是root代表/root;
如果是普通用户user1代表/home/user1 -
# 超级用户的提示符 #
-
$ 普通用户提示符 $
查询目录中内容 :
ls [选项] [文件或目录]
- 选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-h 人性化显示文件大小
文件处理命令
-
查询所在目录位置:pwd
-
创建文件:touch 用法: touch 文件名
-
建立目录: mkdir
用法:mkdir -p [目录名] -
删除空目录:rmdir 用法:rmdir [目录名]
-
删除文件或目录:rm
用法:rm -rf [文件或目录]
选项:
-r 递归删除目录
-f 强制 -
复制命令:cp
用法: cp 源文件 目标文件 -
剪切或改名命令:mv
用法:- 剪切 mv [选项] 源文件或目录 目标文件或目录
- 改名 mv 源文件名 改之后的文件名
切换所在目录
- cd [目录]
命令英文原意: change directory
简化操作:
- cd ~ 进入当前用户的家目录
- cd 同上
- cd - 进入上次目录
- cd … 进入上一级目录
- cd . 进入当前目录
文件搜索命令
-
whereis 命令名 #搜索命令所在路径及帮助文档所在位置
-
which 文件名 #搜索命令所在路径及别名
-
PATH环境变量: PATH环境变量:定义的是系统搜索命令的路径
相当于window下的path
字符串搜索命令:
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
文件搜索命令:
find [ 搜索范围 ] [ 搜索条件]
示例:
-
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配 -
find /root -iname install.log #不区分大小写
-
find /root -user root #按照所有者搜索
-
find /root -nouser #查找没有所有者的文件
find命令和grep命令的区别:
-
find命令:在系统中搜索符合条件的文件名.
-
grep命令:在文件中搜索符合条件的字符串.
帮助命令
- man命令: 用法:man ls #查看ls的帮助
选项帮助:
-
命令 --help #获取命令选项的帮助
-
实例:ls --help
-
但是不适用内部命令,如cd: help cd
压缩与解压缩命令
. zip格式:
-
压缩用法: zip 压缩文件名 原文件
zip -r 压缩文件名 原文件夹 -
解压用法: unzip 压缩文件
. gz格式:
-
压缩用法: gzip 原文件 压缩为.gz格式的压缩文件,原文件会消失
gzip -r 目录 压缩目录下的所有子文件,但是不能压缩目录 -
解压用法:
gzip -d 压缩文件
gunzip 压缩文件
压缩与解压缩命令
打包命令&解打包:
-
打包命令: tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名 -
解打包: tar -xvf 打包文件名
选项:
-x 解打包
. tar.gz格式:
-
选项:-z 压缩为.tar.gz格式
-
压缩用法: tar -zcvf 压缩包名.tar.gz 源文件
-
解压用法: tar -zxvf 压缩包名.tar.gz
tar -zxvf 压缩包名.tar.gz -C 指定目录
关机和重启命令
shutdown命令:
- 用法 shutdown [选项] 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
使用shutdown会在关机的时候帮我们保存数据
其他关机命令:
-
halt
-
poweroff
-
init 0
使用这三个命令不是特别安全,因为它们不会帮我们保存数据.
其他重启命令:
-
reboot
-
init 6
注意:服务器一般是不关机的.
其他命令
磁盘使用情况df:
df -h : 格式化显示输出磁盘使用情况
查看操作的历史
history 用于显示执行过的历史命令行
在显示器输出内容: echo
文件查看命令
日志监控命令: tail 默认在屏幕上显示指定文件的末尾10行
-f 显示文件最新追加的内容
-行数 在屏幕上显示指定文件的末尾参数设置的行数
查看内存占用: free
查看任务进程
vi编辑器
概念
Vi编辑器是一款可以用来创建和编辑文本文件的工具,vi就是visual interface(可视化接口)的简写,它有个增强版:vim,就是vi improve,它是一个模式化编辑器: 在不同的模式下,我们的机键动作被解释的意义是不同的。
vi /path/to/filename
- 如果该文件是不存在的,就是新增文件
- 如果该文件是存在的,就是修改文件
Vi编辑器的三种模式
-
编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式。
-
输入模式:大部分机键动作都会理解为输入的字符。
-
末行模式:在末行模式,输入很多文件管理命令。
如:复制,粘贴,搜索,替换等i: 在光标所在字符前开始插入 a: 在光标所在字符后开始插入 o: 在光标所在行的下面另起一新行插入 s: 删除光标所在的字符并开始插入 I: 在光标所在行的行首开始插入 如果行首有空 格则在空格之后插入 A: 在光标所在你行的行尾开始插入 O: 在光标所在行的上面另起一行开始插入 S: 删除光标所在行并开始插入
关闭文件:
在末行模式下
wq: 保存退出
q!: 退出不保存
翻屏操作:
在编辑模式下: ctrl+f 向下翻一页 ctrl+b 向上翻一页
删除命令:
dd: 删除光标所在行 (编辑模式)
3dd:从光标行开始删除3行(编辑模式)
1,4d 删除第一行到第四行(末行模式)
复制和粘贴命令:
yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2行(编辑模式)
p: 粘贴命令(编辑模式)
用户管理
权限:
定义资源或服务的访问能力,称之为权限
定义某一个特定的人资源或者服务的访问能力, 用户
定义一类用户具有访问某个资源或服务的能力. 用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限
定义一个资源的权限:
① 用户具有该资源的权限(文件所有者,属主)
② 用户组具有该资源的权限(属组)
③ 其他用户(既不是属主,也不是属组)
命令:
-
创建用户组 groupadd 组名 #查看系统用户组:cat /etc/group
-
修改用户组 usermod #usermod -G [组名] [用户名]
-
删除用户 userdel 用户 -f:强制删除用户,即使用户已登录
-r:删除与用户相关的所有文件。 -
删除组 groupdel 组名
-
设置用户密码 passwd 用户名
创建用户 :useradd [用户名]
创建用户并分配一个组:useradd -G [组名] [用户名]
查看系统用户:cat /etc/passwd
- 用户名
- 用户的密码,用x替代
- 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
- 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,
其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。
然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。 - 用户的账号说明解释
- 用户的家目录文件夹
- 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。
文件基本权限
文件权限解释:
示例: -rw-r–r--
- 文件类型(- 文件 d 目录 I 软链接文件)
rw- r-- r--
u所有者 g所属组 o其他人
r读 w写 x执行
修改权限chmod:
chmod [选项] 模式 文件名
选项
-R 递归
模式
[guoa] [±=] [rwx]
[mode=421]
方式一:
chmod u+x 文件
#给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
#给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
方式二:
权限的数字表示
r w x
4 2 1
111—>7 rwx
110—>6 rw-
100—>4 r–
示例: rwxr-xr-x 755
chmod 755 文件
文件基本权限
修改文件的所有者: 用法:chown 用户名 文件名
修改文件的所属组: 用法:chgrp 组名 文件名
sudo权限:
root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令
visudo
#实际修改的是/etc/sudoers文件
root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)
系统服务管理
系统服务管理:
启动服务:systemctl start <服务名>
关闭服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
查看服务状态:systemctl status <服务名>
添加开机启动项:systemctl enable <服务名>
禁止开机启动项:systemctl disable <服务名>
查看开机启动项:systemctl list-unit-files
进程查看:ps:
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。
ps -ef 显示出的结果:
1.UID 用户ID
2.PID 进程ID
3.PPID 父进程ID
4.C CPU占用率
5.STIME 开始时间
6.TTY 开始此进程的TTY----终端设备
7.TIME 此进程运行的总时间
8.CMD 命令名.
杀死进程:kill -9 pid