常用命令
su - root # 登入管理员 exit # 退出 init0 # 关机 shutdown -h now # 立即关机 init6 # 重启 ctrl+alt+f2 # 切换终端 whoami # 查看当前用户 date # 查看日期 data 121215252019(月日时分年) # 修改日期,按照月日时分年的顺序修改 cal/cal 3 2019 # 查看当前日历/查看2019年3月份日历 clear/ctrl+L # 清屏 passwd # 修改密码 echo 123 | passwd -- stdin root # 修改用户密码为123
目录操作
# 增加目录 mkdir /a # 在根目录下创建a目录 mkdir -p /b/g # 使用了“-p”,可以直接在b目录下创建g目录或者文件 # 查 ls # 查看根目录下所有文件 # 改 mv /a/b /a/f # 将a下的b改为f mv /a/c /b # 将a下的c移动到b文件夹下 ctrl+c # 取消运行 #删 rm -r /b/g # 可以直接删除b目录下的g(必须加上-r) rm -rf /b # 直接全部删除,不会提示(j尽量不轻易使用)
文件操作
# 增 touch a.txt # 新增文件 # 查看 ls # 修改 mv a.txt b.txt # 将a文件改为b文件 #删除 rm -rf b.txt # 删除b文件
用户管理
cat etc/passwd # 用户信息文件 vim /etc/shaow # 与用户密码先关 cat /etc/group # 组相关 cat /etc/gshadow # 组密码相关 useradd 用户名 # 添加用户 userdel用户名 # 删除用户,保留家目录 userdel -r 用户名 # 删除用户,不保留家目录 useradd -d 目录路径 用户名 # 指定家目录 useradd -g 用户组名 用户名 # 指定用户组
组操作命令
groupadd 组名 # 增加组名 groupdel 组名 # 删除组名 usermod -g 组名 用户名 # 修改用户组名 **前提:组内不能有用户,否则无法删除**
ls命令
ls 目录或文件 # 查看文件信息 ls -a # 查看所有文件和目录,包括隐藏的 ls -l # 以列表的方式显示
cd命令
cd # 路径 cd ~ # 回到家目录 cd .. # 回到上一级目录
cp命令
cp test cat # 拷贝test文件到cat文件中 cp -r 源路径(test) 目标路径(cat) # 拷贝文件夹 cp [选项] 源路径 目标路径 # 取消提示,强制复制
rm命令
rm 文件路径 # 删除文件 rm -r 文件夹路径 # 删除文件夹 rm -f xxx # 删除不再提示
cat命令
cat 文件路径 # 显示文件夹内容 cat -n 文件路径 # 显示文件内容,并显示行号 cat -n /etc/profile | more # 正常情况为了方便阅读,我们会在cat指令最后加上管道符" |",把内容传给more,分页显示
tail命令
1、tail -f filename 说明:监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。 2、tail -n 20 filename 说明:显示filename最后20行。 3、tail -n +20 filename 说明:显示filename前面20行。 4、tail -r -n 10 filename 说明:逆序显示filename最后10行。
Vim命令
1.拷贝当前行,并粘贴 拷贝:yy 粘贴:p 2.拷贝当前行向下5行,并粘贴 拷贝5行:5yy 3.删除当前行 删除:dd 4.删除当前行向下5行 删除5行:5dd 5.光标移至最后一行 G 6.光标移至首行 gg 7.移动到第7行 7gg 8.撤销 u
1.查找某个关键字
/关键字
2.取消高亮
:nohl
3.显示行号
:set nu
4.取消行号
:set nonu
more指令快捷键
空格 # 向下翻一页 Enter # 向下翻一页 q # 立即离开 Ctrl+F # 向下滚动一屏 Ctrl+B # 向上滚动一屏 = # 显示当前行号 :f # 输出文件名和当前行号
less指令快捷键
空格 # 向下翻一页 pagedown # 向下翻一页 pageup # 向上翻一页 /字符串 # 向下查找[字符串],n下一个,N上一个 ?字符串 # 向上查找[字符串],n下一个,N上一个 q # 离开less
关机/重启命令
shutdown命令 shutdown -h now :立即关机 shutdown -h 2 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 :1分钟后重启 halt 关机 reboot 重启 sync: 把内存的数据同步到磁盘
如何找回 root 密码,如果我们不小心,忘记 root 密码,怎么找回。
思路: 进入到 单用户模式,然后修改 root 密码。因为进入单用户模式,root 不需要密码就可以登录。
开机->在引导时输入 回车键-> 看到一个界面输入 e -> 看到一个新的界面,选中第二行(编辑内核)在输入 e-> 在这行最后输入1 ,再输入 回车键->再次输入 b ,这时就会进入到单用户模式。
这时,我们就进入到单用户模式,使用 passwd 指令来修改 root 密码。
find指令
指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
find [范围] [选项] 范围:指路径,不写默认从当前向下找,类似于windows的查找 选项: -name 文件名 # 按文件名查找 -user 用户名 # 查找属于该用户的所有文件 -size # 按文件大小查找 +20M -20M 20M 20K
“*.txt” 通配符要加引号
1.根据名称查找/home 目录下的 a.txt 文件 find /home -name a.txt find /home -name "*.txt"
2.查找/opt 目录下,用户名称为 lxx 的文件 find /opt -user lxx
3.查找整个 linux 系统下大于 20M 的文件 find / -size +20M
4.查询/ 目录下,所有.txt 的文件 find / -name "*.txt"
管道符:"|",表示将前一个命令的处理结果输出传递给后面的命令处理 grep:过滤查找
grep -n 过滤内容 # 显示匹配行及行号 grep -i 过滤内容 # 忽略字母大小写
例子: 1.创建文件,写上多行,包含'yes'和'YES' 2.查找'yes'所在行,并显示行号 cat a.txt | grep -n "yes" 3.忽略大小写,查找'yes'所在行 cat a.txt | grep -ni "yes"
gzip 文件路径 # 压缩 gunzip gz 文件路径 # 解压
zip [选项] xxx.zip 被压缩内容 # 压缩文件或者目录 -r # 压缩目录 unzip [选项] xxx.zip # 解压文件 -d 目录 # 指定压缩后的存放目录
例子: 1.将 /home 下的 所有文件进行压缩成 mypackage.zip zip -r mypackage.zip /home zip -r mypackage.zip /home/* 2.讲mypackge.zip解压到/opt/tmp下 unzip -d /opt/tmp mypackge.zip
压缩: tar -zcvf xx.tar.gz 被压缩内容(文件,文件夹,多个也行) #压缩 tar -zxvf xx.tar.gz -C 目标路径 #解压 z:使用gzip格式压缩,否则是单纯打包 c:压缩 x:解压 f:显示压缩解压过程 v:显示提示信息
例子: 1.压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz tar -zcvf a.tar.gz /home/a1.txt /home/a2.txt 2.将/home 的文件夹 压缩成 myhome.tar.gz 3.将 a.tar.gz 解压到当前目录 4.将 myhome.tar.gz 解压到 /opt/ 目录下
ls -ahl
chown 用户名 文件名
ls –ahl
chgrp 组名 文件名
usermod –g 组名 用户名
ls -l -rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc 0-9 位说明 第 0 位确定文件类型(d,-,l) 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限 第 4-6 位确定所属组(同用户组的)拥有该文件的权限 第 7-9 位确定其他用户拥有该文件的权限
r # 可读 w # 可写[可写不代表可以删除,删除一个文件的前提是对文件所在的目录有写的权限] x # 可执行
r # 可读(可用ls查看目录内容) w # 可写[可在目录内创建+删除+重命名文件或目录] x # 可执行[可以进入目录]
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc - 表示类型为文件 第一组rwx: 表示所有者 可读 可写 可执行 第二组rw-: 表示同组用户 可读 可写 但不能执行 第三组r--: 表示其他用户 只可读 可用数字表示: r = 4 w = 2 x = 1 因此rwx = 4+2+1 = 7
chmod 权限变更格式 文件或目录路径 权限变更格式一: u # 所有者 g # 所有组 o # 其他用户 a # 所有人 1. u=rwx,g=rx,o=x 2. o+w # 其它用户增加w权限 3. a-x # 所有人减去执行权限
例子: 1.给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限 chmod u=rwx,g=rx,o=rx abc 2.给 abc 文件的所有者除去执行的权限,增加组写的权限 chmod u-x,g+w abc 3.给 abc 文件,所有用户添加读的权限 chmod a+r abc
权限变更格式二: r = 4 w = 2 x = 1 rwx = 7 rx = 5 chmod u=rwx,g=rx,o=x 可以写成 chmod 751
例子: 1.将 /home/abc 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现 chmod 755 /home/abc
chown newowner file # 改变文件所有者 chown -R newowner 文件夹 # 使得所有子文件或子目录生效
chgrp newgroup file # 改变文件所有组 chgrp -R newgroup 文件夹 # 使得所有子文件或子目录生效
crontab -e # bianji crontab定时任务 crontab -l # 查询crontab crontab -r # 删除当前用户所有的crontab任务
例子: 每分钟执行查看一次/ect目录,把目录内容写进/tml/a.txt下 具体实现步骤: 1.crontab –e 2.*/ 1 * * * * ls -l /etc >> /tmp/a.txt 3.保存退出
步骤: 1.虚拟机添加硬盘 2.分区 fdisk /dev/sdb m 选择帮助 n 增加分区 p 划主分区 1 主分区1 1 默认 w 写入分区信息并退出 3.格式化 mkfs -t ext4 /dev/sdb1 4.挂载 mount /dev/sdb1 /home/newdisk 5.设置自动挂载 vim /etc/fstab (内容如下) mount -a 立即生效
df -lh
du # /目录 -h # 带计量单位 -s # 指令目录占用磁盘大小 -a # 含文件 -c # 列出明细,并显示汇总值 --max-depth=1 # 子目录深度
ipconfig
ping 目标ip # 测试当前服务器是否可以连接目的主机
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改配置文件后,要重启网络服务才能生效
service network restart
user 用户名称 pid 进程号 %cpu 进程占用cpu百分比 %%mem 进程占用物理内存的百分比 vsz 进程占用虚拟内存的大小 rss 进程占用物理内存的大小 tty 终端名称(后台则为?) stat 进程状态 S:睡眠 s:会话的先导进程 N:进程拥有比普通优先级更低的优先级 R:正在运行 D:短期等待 Z:僵尸进程 T:被跟踪或者被停止 start 进程启动时间 time 使用cpu总时间 command 启动进程所用的命令和参数,如果过长会被截断显示
system V 风格详解
uid 用户id
pid 进程id
ppid 父进程id
C 进程占cpu百分比
stime 进程启动时间
tty 终端名称(后台则为?)
cmd 启动进程所用的命令和参数
pstree [选项] -p 查看进程pid -u 查看进程所属用户
service 服务名 [start | stop | restart | reload | status]
ls -l /etc/init.d
通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
chkconfig # 查看每个服务的配置 chkconfig 服务名 # 查看具体服务的配置 chkconfig --level 5 服务名 on/off # 给服务设置是否自动启动
chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效
top [选项] -d 指定每隔几秒更新,默认3秒 -i 不显示任何闲置或者僵尸进程 -p id号 监听指定进程 交互操作: P 以cpu使用率排序,默认就这个 M 以内存使用率排序 N 以pid排序 u 监听具体用户 k 终止指定进程 q 退出top