目录
1. vi 和 vim 快捷键
- yy:复制当前行。
- 5yy:复制当前行向下的5行。
- p:粘贴。
- dd:删除当前行。
- 5dd:删除当前行向下的5行。
- /关键字:回车查找关键词,输入n查找下一个。
- :set nu:设置行号。
- :set nonu:取消行号。
- shift+g:移动到末行。
- gg:移动到首行。
- u:撤销动作。
- 20 shift g:光标移动到20行。
2. 开关机、重启和用户登录注销
- shutdown -h now:立刻关机。
- shutdown -h 1:一分钟后关机。
- shutdown -r now:立刻重启。
- shutdown -r 1:一分钟后重启。
- halt:立刻关机。
- reboot:立刻重启。
- sync :在重启和关机前,通常先执行此命令,将内存的数据写入磁盘。
- su 用户名:切换用户。
- logout:注销用户,此命令在图形运行级别无效。
3. 用户管理
- useradd 用户名:添加一个用户,默认家目录为/home/用户名。
- useradd -d 指定目录 用户名:给新添加的用户指定家目录。
- passwd 用户名:给用户设置密码。
- whoami:查看当前登录用户。
- userdel 用户名:删除用户,但保留家目录。
- userdel -r 用户名:删除用户及用户主目录。
- id 用户名:查询用户信息。
- groupadd 组名:新添加一个组。
- useradd -g 用户组 用户名:添加用户并指定用户组。
- groupdel 组名:删除一个组。
- usermod -g 新的组名 用户名:修改用户的组。
- /etc/passwd文件:用户的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell。 - /etc/shadow文件:口令的配置文件。(每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留。)
- /etc/group文件:组的配置文件,记录Linux包含的组的信息。(每行含义:组名:口令:组标识号:组内用户列表。)
4. 指定运行级别
- 基本介绍:
- 0:关机。
- 1:单用户,类似安全模式,该模式可以帮助找回root密码。
- 2:多用户无网络。
- 3:多用户有网络。
- 4:系统未使用保留给用户。
- 5:图形界面。
- 6:重启。
- 修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault: 这一行中的数字。
- init [0123456]:切换运行级别。
- 如何找回 root 密码。
- 启动时->快速输入enter->输入e-> 进入到编辑界面-> 选择中间有kernel 项->
输入e(edit)-> 在该行的最后写入 1 [表示修改内核,临时生效]-> 输入enter->
输入b [boot]-> 进入到单用户模式。
- 启动时->快速输入enter->输入e-> 进入到编辑界面-> 选择中间有kernel 项->
5. 帮助命令
- man [命令或配置文件]:获得帮助信息。
- help 命令:获得shell内置命令的帮助信息。
6. 文件和目录相关指令
-
pwd:显示当前工作目录的绝对路径。
-
ls [选项] [目录或是文件]
-
-a:显示当前目录的所有的文件和目录。
-
-l:以列表的方式显示信息。
-
-h:显示文件大小时,以k、m、G为单位。
-
-
cd 绝对或相对路径:切换路径。
-
mkdir 目录:创建目录。
-
mkdir -p 目录:创建多级目录。
-
rmdir 目录:删除空目录。
-
rm -rf 目录:删除非空目录。
-
-r:表示递归删除,将该目录下的文件和子目录全部删除。
-
-f:表示强制删除,不需询问。
-
touch 文件名:创建空文件,还可以更新文件的修改时间。
-
cp [选项] source【源】 dest【目的文件】:拷贝文件。
-
-r:递归复制整个文件夹。
-
mv oldNameFile newNameFile:重命名文件。
-
mv /temp/movefile /targetFolder:移动文件或目录。
-
cat [选项] 要查看的文件:查看文件内容。
- -n:显示行号。
-
more 要查看的文件:以全屏幕的方式按页显示文本文件的内容。
- space:向下翻一页。
- enter:向下翻一行。
- q:退出。
- =:输出当前行的行号。
- :f :输出文件名和当前行的行号。
-
less 要查看的文件:less指令用来分屏查看文件内容。
-
echo [选项] [输出内容]:输出内容到控制台。
-
head 文件:查看文件的前 10 行内容。
-
head -n 5 文件:查看文件的前 5 行内容。
-
tail 文件:查看文件的后 10 行内容。
-
tail -n 5 文件:查看文件的后 5 行内容。
-
tail -f 文件:实时追踪该文件的所有更新。
-
>
:输出重定向,覆盖写。 -
>>
:追加,将内容添加到文件末尾。 -
ln -s [原文件或目录] [软链接名]:给原文件创建一个软连接。
-
history:查看已经执行过的历史命令。
-
history 10:显示最近使用过的 10 个指令。
-
!10:执行历史编号为 10 的指令。
7. 时间日期类
- date:显示当前时间。
- date +%Y:显示当前年份。
- date +%m:显示当前月份。
- date +%d:显示当前是哪一天。
- date “+%Y-%m-%d %H:%M:%S”:显示年月日时分秒。
- date -s 字符串时间:设置时间。
- cal [选项]:不加选项,显示本月日历。
- cal 2020:显示 2020 年日历。
8. 搜索查找类
- find [搜索范围] [选项]:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
- -name 文件名或目录名:按文件名查找文件。
- -user 用户名:查找属于指定用户的所有文件。
- -size 文件大小:按照指定的文件大小查找文件,+n大于n…。
- locate 搜索文件:定位文件的路径。由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
- grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
- grep [选项] 查找内容 源文件
- -n:显示匹配行及行号。
- -i:忽略字母大小写。
9. 压缩和解压类
- gzip 文件:只能将文件压缩为 *.gz 文件。
- gunzip 文件.gz:解压缩。
- zip [选项] xxx.zip 文件或目录:压缩文件和目录。
- -r:递归压缩,即压缩目录。
- unzip [选项] xxx.zip :解压缩文件。
- -d<目录>:指定解压后文件的存放目录。
- tar [选项] xxx.tar.gz 打包的内容/目录:打包目录,压缩后的文件格式 .tar.gz。
- -zcvf: 压缩
- -zxvf:解压
- tar -zxvf xxx.tar.gz -C 目录:解压到指定目录下。
10. 组管理和权限管理
- chown 用户名 文件名:修改文件的所有者。
- chmod 用户名:组名 文件名:修改文件的所有者和所有组。
- -R:如果是目录,则使其下的所有子文件或目录递归生效。
- chgrp 组名 文件名:修改文件所在的组。
- -R:如果是目录,则使其下的所有子文件或目录递归生效。
- usermod -g 组名 用户名:修改用户所在的组。
- usermod -d 目录名 用户名:修改该用户登录的初始目录。
- chmod u=rwx,g=rx,o=x 文件/目录。
- chmod o+w 文件/目录。
- chmod a-x 文件/目录。
- chmod 777 文件/目录。
11. 定时任务调度
-
crontab [选项]
- -e:编辑 crontab 定时任务。
- -l:查询 crontab 定时任务。
- -r:删除当前用户所有的 crontab 定时任务。
-
执行 crontab -e 命令后,接着输入任务到调度文件,如:
*/1 * * * * ls -l /etc/ > /tmp/to.txt
,意思说每小时的每分钟执行ls –l /etc/ > /tmp/to.txt
命令项目 含义 范围 第一个“*” 一小时当中的第几分钟 0-59 第二个“*” 一天当中的第几小时 0-23 第三个“*” 一个月当中的第几天 1-31 第四个“*” 一年当中的第几月 1-12 第五个“*” 一周当中的星期几 0-7(0和7都代表星期天) 特殊符号 含义 * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。 , 代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令 - 代表连续的时间范围。比如“0 5 * * 1-6”命令,代表在周一到周六的凌晨5点0分执行命令 */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令 -
service crond restart :重启任务调度。
12. 磁盘分区、挂载
-
lsblk 或者 lsblk -f :查看所有设备挂载情况。
-
增加一块硬盘的步骤:
-
增加一块硬盘。
-
重启服务器。
-
给 sdb 硬盘分区。分区命令:fdisk /dev/sdb。
m 显示命令列表
p 显示磁盘分区 同 fdisk –l
n 新增分区
d 删除分区
w 写入并退出 -
说明: 开始分区后输入n,新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
-
格式化 sdb1:mdfs -t ext4 /dev/sdb1。
-
挂载:mount /dev/sdb1 /home/newdisk。
-
上面的方式,只是临时生效,当你重启系统,挂载的关系没有, 配置linux的分区表,实现启动时,自动挂载:vim /etc/fstab。
-
重启后,会自动挂载。
-
卸载:umount /dev/sdb1。
-
-
df -h:查询系统整体磁盘的使用情况。
-
du -h 目录:查询指定目录的磁盘占用情况,默认是当前目录。
- -s:指定目录占用大小汇总。
- -h:带计量单位。
- -a:含文件。
- –max-depth=1:子目录深度。
- -c:列出明细的同时,增加汇总值。
-
统计/home文件夹下文件的个数
ls –l /home/ | grep “^-” | wc -l
-
统计/home文件夹下目录的个数
ls –l /home/ | grep “^d” | wc -l
-
统计/home文件夹下文件的个数,包括子文件夹里的
ls –lR /home/ | grep “^-” | wc -l
-
统计/home文件夹下目录的个数,包括子文件夹里的
ls –lR /home/ | grep “^d” | wc -l
-
以树状显示home目录结构 :tree /home。 先安装 tree:yum install tree。
13. 网络配置
-
配置固定的 ip 地址。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
。
- 使配置生效:重启
reboot
,或者重启网网络服务service network restart
。
-
配置主机名。
-
查看当前主机名:hostname。
-
修改主机映射文件:
vim /etc/sysconfig/network
。文件中内容
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME= hadoop101 //写入新的主机名
注意:主机名称不要有“_”下划线 -
修改 /etc/hosts 增加ip和主机的映射:172.16.247.131 hadoop101。
-
重启设备,生效。
-
14. 进程管理
-
ps -aux:显示所有的进程。
-
ps -aux | grep sshd:查看sshd进程。
-
指令说明:
System V展示风格
USER:用户名称
PID:进程号
%CPU:进程占用CPU的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TTY:终端名称,缩写 .
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU时间,即进程使用CPU的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
-
kill [选项] 进程号:通过进程号杀死进程 -9 强制终止。
-
killall 进程名称:通过进程名称杀死进程,也支持通配符。
-
pstree [选项] :查看进程树。
- -p:显示进程的 PID。
- -u:显示进程的所属用户。
-
service 服务名 [start | stop | restart | reload | status]。
-
在CentOS7.0后 不再使用service ,而是 systemctl。
-
如果希望设置某个服务自启动或关闭永久生效,要使用chkconfig指令。
-
chkconfig --list:查看所有服务。
-
chkconfig 服务名 --list:查看指定服务。
-
chkconfig --level 5 服务名 on/off:可以指定某个服务,某各个运行级别,开启或关闭。
-
chkconfig 服务名 on/off:关闭或开启服务。
-
top [选项]:用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的的进程(默认每3秒变化一次)。
- -d 秒数:指定每隔几秒更新。
- -i:使 top 不显示任何闲置或者僵死进程。
- -p:通过指定监控进程ID来仅仅监控某个进程的状态。
交互操作说明:
操作 功能 P 以CPU使用率排序,默认就是此项 M 以内存的使用率排序 N 以PID排序 q 退出top - 如何监视特定用户?
- top:输入此命令,按回车键,查看执行的进程。
- u:然后输入“u”回车,再输入用户名,即可。
- 如何终止指定的进程?
- top:输入此命令,按回车键,查看执行的进程。
- k:然后输入“k”回车,再输入要结束的进程ID号。
-
netstat [选项]:查看网络情况。
- -an:按一定顺序排列输出。
- -p:显示哪个进程在调用。
15. rpm 和 yum 软件安装。
- rpm -qa :查看已安装的 rpm 列表。
- rpm -q 软件包名 :查询软件包是否安装。rpm -q firefox。
- rpm -q 软件包名 :查询软件包是否安装。
- rpm -ql 软件包名 :查询软件包中的文件。
- rpm -qf 文件全路径名:查询文件所属的软件包。
- rpm -e RPM包的名称:卸载 rpm 包。 rpm -e firefox。
- rpm -ivh RPM包全路径名称:安装 rpm 包。
- yum list|grep xxx:查询yum服务器是否有需要安装的软件。
- yum install xxx:下载安装。