2020-08-25

Linux基础命令总结(一).linux哲学思想1.一切皆文件2.能简写,绝不全写3.尽量避免用户交互4.有众多小程序组成,一个程序只能实现一个功能,组合小程序完成复杂的任务5.使用纯文本文件保存配置信息(二).目录操作命令1.ls命令:显示指定路径下的文件ls 【选项】目录名-a:显示所有文件 -l:长格式 1位:文件类型 -,f:普通文件 d:目录 l:符号链接文件 b:块设备 c:字符设备 p:管道文件 s:套接字文件 2-10位:访问权限 数字:硬链接次数 左root:用户 右root:用户组 数字:文件大小 日期 -h:单位换算 -d:只显示目录自身 -r:逆序显示 -R:递归显示例: ls  /etc   显示etc目录下的文件与目录,不包含隐藏文件   ls  -a  /etc   显示/etc目录下的文件与目录,包含隐藏文件   ls  -l  /etc     (可缩写为   ll   )   长格式显示/etc目录下的文件与目录的详细信息 ls -d /etc 显示/etc目录自身 ls -R /etc 递归显示目录2.cd命令:用户与目录的切换管理员用户家目录:/root普通用户家目录:/homeCd ~或cd:回到当前用户家目录Cd ~name :切换至指定用户家目录,root可行Cd /home :进入指定目录/home下Cd -:与上次目录来回切换Cd … :返回上一级目录3.tree命令:将目录文件以树的形式呈现 Tree 【选项】 目录 -d:只显示目录 -L #:指定显示的层级数例:tree 指定目录名称 tree /home :以树的形式显示目录/home4.pwd命令:查看当前工作路径5.mkdir命令:创建目录 Mkdir 【选项】 dir_name-p:存在时不报错,递归创建目录 -v:显示创建过程例:mkdir dir1 创建一个叫做 ‘dir1’ 的目录’ mkdir dir1 dir2 同时创建两个目录 mkdir -p /tmp/dir1/dir2 创建一个目录树 6.rmdir命令:删除目录 -v:显示其过程例:rmdir dir1 删除一个叫做 ‘dir1’ 的目录’ (三).文件操作命令1.touch命令:创建文件,更改时间戳 文件:metadata,data 三个时间戳: atime:访问时间 mtime:修改时间touch 【文件】 文件名 -a:atime -m:mtime -t STAMP [[CC]YY]MMDDhhmm[.ss] -c:如果文件不存在,则不予创建例:touch aaa 创建一个名叫aaa的文件2.cp命令:复制拷贝Cp 【选项】 源文件 目标文件/目录例:cp -a dir1 dir2 复制一个目录 cp -rf /etc/* ./ 将etc目录下所有文件强制复制到当前目录3.mv命令:移动文件或更名 mv 【选项】 源文件或目录 目标文件或目录 -i:交互式 -r:递归复制-a:归档复制-f:强制复制-p:保留源权限例: mv   /home/tt   /home/tt1    将home目录下的tt文件更名为tt1    mv   /home/tt   /tmp    将/home目录下的tt移动到/tmp目录下例:mv  01.c  …/             移动    mv  test2.c  test_second.c   更名   mv  test3.c  …/test_three.c 移动并更名4.rm命令:删除文件或目录 Rm 【选项】 文件或目录-f:强制删除 -r:递归例: rm   /home/tt    删除/home目录下的 tt文件    rm   -r   /home/tt    删除/home目录下的tt目录   rm -r:删除目录下的目录    rm -r bakdir/   (rm test.c -i:删除时交互提醒)   rm  -rf   .o:强制删除所有以  .o  结尾的文件5.ln命令:创建文件硬软链接软硬连接,LVM 文件系统的其他概念: Inode:Inder node:索引节点 Inode bitmap:对位标识每个inode空闲与否的状态信息链接文件: 硬链接: 不能够目录进行 不能跨分区 符号链接,软连接 可以对目录 可以跨分区创建方式: ln [-sv] SRC DEST -s:symbolic link,软连接例:ln -s file1 lnk1 创建一个指向文件或目录的软链接 ln file1 lnk1 创建一个指向文件或目录的物理链接 6.find命令:更具指定文件名与大小查看文件查找条件: 根据文件名查找 -name “文件名称”:支持使用通配符 根据大小查找 -size [+|-]#UNIT 常用单位:k,m,g,t 根据文件类型 -type FS_TYPE f,d,b,c,p,l,s 根据时间戳 以“天”为单位 -atime -mtime -ctime 以“分钟”为单位 -amin -cmin -mmin 根据属主和属组查找 根据权限查找 处理动作: -ls:类似于对查找到的文件执行ls -l命令 -delete:删除查找到的文件 -fls /path/to/dir:将查找到的文件保存至指定路径下 -exec COMMAND {} ; 对查找的内容执行命令,{}调用 查找到的文件名。 注意:find传递查找到文件数量过多时,有一些命令无法同时 接受过多的参数,这时候可以使用 find | xargs COMMANDfind 【指定范围】 【查找条件】 【处理工作】例:find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 ‘user1’ 的文件和目录 find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 7.vim编辑文件工具使用: 命令模式–>输入模式 i:在光标所在处输入 I:在光标所在处行首输入 a:在光标所在处后面输入 A:在光标所在处的行尾输入 o:在当前光标所在行的下方插入新行 O:在当前光标所在行的上方插入新行 输入模式–>命令模式 ESC键 命令模式–>末行模式 : 末行模式–>命令模式 ESC键 (两次ESC键快速退出)关闭文件 :q 退出 :q! 强制退出 :wq 保存退出 :x 保存退出 ZZ:保存退出 命令模式: 字符间跳转 h(左),j(下),k(上),l(右) #[h|j|k|l]:跳转# 单词间跳转 w:跳转至下一个单词词首 e:当前或下一个单词词尾 b:当前或前一个单词词首 #COMMAND:跳转#个单词 行首行尾跳转 ^:跳转至行首的第一个非空白字符 0:绝对行首 KaTeX parse error: Expected 'EOF', got '#' at position 14: :跳转至行尾 行间移动 #̲G:跳转至#行 G:最后一行…:删除光标至行尾 d^:删除光标至非空白行首 d0:删除光标至绝对行首 dw,de,db #[dw|de|db] dd:整行删除 #dd:多行删除 粘贴命令: (小)p:粘贴至光标后 (大)P:粘贴至光标前 复制命令:y y$: y0: y^: ye,yw,yb #COMMAND yy:复制行 #yy 替换命令: r:替换光标所在处的字符 R 可视化模式 v:按字符选择 V:按行选择 结合命令:d,y 撤销此前的编辑 u #u 撤销此前的撤销 ctrl + r 翻屏: ctrl + f: ctrl + b: ctrl + d: ctrl + u:末行模式: 内建命令接口: 1.地址定界: :start_pos,end_pos #:具体第#行 #,#:从左侧#起始,到右侧#结束 #,+#:从左侧#起始,加上右侧#结束 .:当前行 $:最后一行 %:全文 后跟编辑命令 d,y w /path/to/file :另存为 r /path/from/file :插入内容 2.查找 /pattern:向下 ?pattern:向上 n,N 3.查找替换 : s/要查找的内容/替换的内容/修饰符 修饰符: i:忽略大小写 g:全局替换 例如: :%s@r(…)t@R\1T@g :%s@linux@&er@g 查找替换的分隔符可以为其他字符 s@ @ @ s# # # 窗口分区 vim -o | -O file1 file2 -o:水平分隔 -O:垂直分隔 窗口间切换:ctrl + w ,方向键 单文件: ctrl + w ,s :水平分割 ctrl + w ,v :垂直分割 多文件编辑: vim file1 file2 file3 file4 :next 下一个 :prev 上一个 :first 第一个 :last 最后一个 :wall 保存所有 :qall 退出所有(四).文件查看及处理命令1.cat命令:查看文件 Cat 【选项】 文件名-n:显示行号 -E:显示行结束符 例:cat -n file1 显示行号查看文件file1内容 cat -E file2 显示结束符查看文件file2内容   cat -s 01.c:多个空行合并成一个空行显示   cat -b 01.c:加行号显示(nl 01.c与之等同)2.more命令:分页查看到行尾不退出 more 文件名 more file1 查看一个长文件的内容 3.less命令:分页查看到行尾直接退出 less 文件名 less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作 4.head命令:显示文本前n行 head 【选项】 file-n #:查看指定前#行 -# 例:head -n2 file1 查看一个文件的前两行 5.tac命令:查看文件 例:tac file1 从最后一行开始反向查看一个文件的内容 6.tail命令:查看文件后n行 tail 【选项】 file -n # | -#:查看指定后#行 -f 跟踪显示文件新追加的内容 例:tail -n2 file1 查看一个文件的最后两行 7.cut命令 cut 【选项】 file -d DELIMITER:指明分隔符 -f FILEDS: #:第#字段 #,#,[#]:离散的多个字段 #-#:连续的多个字段 --output-delimiter=string :替换分隔符 例:cut -d “:” -f 1,5 /etc/passwd8.Sort命令 Sort 【选项】 file -f:忽略字符大小写 -r:逆序 -t:指明分隔符 -k#:以指定字段为标准排序 -n:以数值大小排序 -u:去重显示-b :忽略最前面的空格符部分;-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法例:sort file1 file2 排序两个文件的内容 9.Uniq命令 Uniq 【选项】 file 连续前完全相同方为重复 -c:显示重复次数 -d:仅显示重复的行 -u:仅显示不曾重复过的行例:sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)  sort file1 file2 | uniq -u 删除交集,留下其他的行10.wc命令:文本处理命令文本处理命令: wc [option] file 文本统计命令 -l:行 -w:单词数 -c:显示字节数(五).文件打包压缩命令1.gzip命令 gzip/gunzip xx.gz gzip [option] file… -d:解压缩,gunzip -c:将结果输出值标准输出 -#:指定压缩比 less/zcat:不解压查看文件内容 例:gzip file1 压缩一个叫做 'file1’的文件 gzip -9 file1 最大程度压缩 gunzip file1.gz 解压一个叫做 ‘file1.gz’的文件 2.bzip命令bzip2/bunzip2 xx.bz2 bzip2 [option] file -k:保留源文件 -d: -#: less/bzcat例:bunzip2 file1.bz2 解压一个叫做 ‘file1.bz2’的文件 bzip2 file1 压缩一个叫做 ‘file1’ 的文件 3.Xz命令xz/unxz xx.xz xz [option] file -k: -d: -#: less/xzcat:4.tar命令1.创建归档 tar -c -f /path/to/somefile.tar file -cf 2.查看归档文件 tar -t -f /path/to/somefile.tar 3.展开归档文件 tar -x -f /path/to/somefile.tar -C /path 结合压缩工具 -j:bzip -z:gzip -J:xz 创建归档并压缩: tar -[j|z|J]cf /path/to/somefile.tar.[bz2|gz|xz] file… 解压缩并展开归档: tar -[j|z|J]xf /path/somefile.tar.[bz2|gz|xz] -C /path -v:显示解压展开过程 例: tar -cvf archive.tar file1 创建一个非压缩的 tarball tar -cvf archive.tar file1 file2 dir1 创建一个包含了 ‘file1’, ‘file2’ 以及 ‘dir1’的档案文件 tar -tf archive.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 (六).信息显示命令1.file命令:内存空间使用状态 free [option] -m:以MB为单位 -g:以GB为单位2.stat命令:查看文件元数据 例:stat passwd3.du命令:查看目录总体空间占用情况du [option] [DIR] -h:单位换算 -s:统计所有文件 例:du -sh dir1 估算目录 ‘dir1’ 已经使用的磁盘空间’ du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 4.df命令:查看文件系统挂载情况 df:查看挂载情况-h:单位换算 -i:查看inode信息5.top命令:动态查看进程信息有许多内置命令: 排序: P:以占据CPU百分比 M:以占据内存百分比 T:累积占据CPU时长 退出命令:q 终止指定进程:k 帮助信息:hhtop命令: 命令: s:跟踪选定进程的系统调用 l:显示选定进程打开的文件列表 t:显示进程树6.w命令:查看所有登陆用户及操作跟用户登录相关: whoami:查看当前登录用户 who:查看当前登录所有用户 w:查看登录所有用户及操作7.date命令:查看系统时间date:时间管理 date [option] [+FORMAT] :显示 FORMAT:显示格式 %D 月/日/年 %F 年-月-日 %T hh:mm:ss date [MMDDhhmm[[cc]yy][.ss]]:设置 MM:月份 DD:几号 hh:小时 mm:分钟 YY:两位年份 CCYY:四位年份 .ss:秒钟linux的两个时钟: 系统时钟:通过cpu的工作频率进行计时 硬件时钟:主板上有时钟芯片 hwclock:显示硬件时间 -s:硬件时间同步至系统 -w:系统时间同步至硬件 cal:日历例:date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 8.free命令:内存空间使用情况 free [option] -m:以MB为单位 -g:以GB为单位(七).搜索文件命令1.find命令:文件查找命令find [指定范围] [查找条件] [处理动作] 查找条件: 根据文件名查找 -name “文件名称”:支持使用通配符 根据大小查找 -size [+|-]#UNIT 常用单位:k,m,g,t 根据文件类型 -type FS_TYPE f,d,b,c,p,l,s 根据时间戳 以“天”为单位 -atime -mtime -ctime 以“分钟”为单位 -amin -cmin -mmin 根据属主和属组查找 根据权限查找 处理动作: -ls:类似于对查找到的文件执行ls -l命令 -delete:删除查找到的文件 -fls /path/to/dir:将查找到的文件保存至指定路径下 -exec COMMAND {} ; 对查找的内容执行命令,{}调用 查找到的文件名。 注意:find传递查找到文件数量过多时,有一些命令无法同时 接受过多的参数,这时候可以使用 find | xargs COMMAND 例: find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 ‘user1’ 的文件和目录 find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 find / -name *.rpm -exec chmod 755 ‘{}’ ; 搜索以 ‘.rpm’ 结尾的文件并定义其权限 find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备 2.Which命令:显示命令对应的程序文件路径例:which halt 显示一个二进制文件或可执行文件的完整路径 (八).用户与组管理命令1.useradd命令:创建用户useradd [option] LOGIN -u UID:指明用户UID -g GID:指明用户GID,必须事先存在 -c “comment”:用户的注释信息 -d /path/to/dir:家目录信息 -s SHELL:指明用户shell程序 -G GROUP1:指明附加组,必须事先存在 -r :创建系统用户例:useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户 useradd user1 创建一个新用户 2.userdel命令:删除用户userdel [option] login -r:删除用户家目录例:userdel -r user1 删除一个用户 ( ‘-r’ 排除主目录) 3.Passwd命令:设置密码 passwd UserName:修改指定用户的密码,仅root passwd:修改自己的密码 --stdin :从标准输入接收用户密码 echo “PASSWORD” | passwd --stdin USERNAME -l:锁定用户 -u:解锁用户4.usermod命令:用户修改 usermod [option] login -u UID:新UID -g GID:新GID -G GROUP1[…]:新附加组 -s shell:新的shell -c “comment”:新的备注信息 -d /path/to/dir:新的家目录,-m将原目录数据迁移至新目录 -l LOGIN_NAME:新的登录名 -L:锁定用户 -U:解锁用户例:usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性5.groupadd命令:创建组Groupadd [option] GROUP_NAME -g GID:指定GID号创建组 -r:创建系统组例:groupadd group_name 创建一个新用户组 6.groupdel命令:删除用户组Goupdel GROUP_NAME 7.groupmod命令:修改组group [option] GROUP_NAME -n:新名字 -g:新GID例:groupmod -n new_group_name old_group_name 重命名一个用户组 8.gpasswd命令:组密码 gpasswd [option] GROUP1 -a user:将user添加至指定组中 -d user:删除用户 -A:指定该用户拥有管理权限9.id命令:查看用户信息id [option] [user] -u:UID -g:GID例:id -u USER_NAME10.su命令:切换用户或以其他用户执行su [option] [-] [user] su UserName:非登录切换,不会切换至家目录 su - UserName:登录式切换,会切换至家目录 换个身份执行命令: su [-] UserName -c “COMMAND”(九).关机和查看系统命令1.Shutdown命令:关机系统关机: halt,poweroff,shutdown,init 0shutdown [option] [time] “note” -r:重启 -h:关机 -c:取消之前操作 time: now:立刻 +#:当输入命令#分钟后执行该操作 hh:mm:指定时间执行操作例:shutdown -h now 关闭系统(1)  init 0 关闭系统(2)  telinit 0 关闭系统(3)  shutdown -h hours:minutes & 按预定时间关闭系统  shutdown -c 取消按预定时间关闭系统 2.reboot命令:重启系统重启: reboot,shutdown,init 6例:reboot 重启(2) logout 注销 3.Ps:静态查看系统进程信息pstree:显示进程数ps:静态查看进程详情 /proc/PID:进程运行时状态数据保存位置 ps [option] … 选项: aux: u:以用户为中心组织进程状态信息显示 a:与终端相关的进程 x:与终端无关的进程 stat:进程状态 R:运行 S:可中断睡眠 D:不可中断睡眠 T:停止态 Z:僵死态 +:前台进程 l:多线程进程 N:低优先级进程 <:高优先级进程 s:父进程 -ef e:显示所有进程 f:显示完整格式的程序信息例:ps -aux Ps -ef4.top:动态查看进程详情有许多内置命令: 排序: P:以占据CPU百分比 M:以占据内存百分比 T:累积占据CPU时长 退出命令:q 终止指定进程:k 帮助信息:hhtop命令: 命令: s:跟踪选定进程的系统调用 l:显示选定进程打开的文件列表 t:显示进程树5.Kill:向进程发送信号显示当前系统可用信号: kill -l man 7 SIGNAL 常用信号: 1 SIGHUP HUP:无须关闭进程而让其重读配置 文件 2 SIGINT INT:中止正在运行的进程,ctrl+C 9 SIGKILL KILL:杀死正在运行的进程 15 SIGTERM TERM:终止正运行的进程 向进程发送信号: kill [-SIGNAL] PID 终止“名称”之下的所有进程 killall [-SIGNAL] Program例1:kill  3029 命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。例2:kill  -9  3029实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。9代表强制。6.Date命令:查看系统时间(十).有关磁盘空间命令1.mount命令:文件系统挂载挂载: 将额外文件系统与根文件系统某现存目录建立关联关系, 进而使得此目录作为其他文件系统访问入口的行为称为挂载 现存的目录:挂载点,MOUNT_POINT mount 挂载点下原有文件在挂载完成后会被隐藏挂载方式: mount DEVICE mount_point DEVICE:指明要挂载的设备 设备文件:/dev/DEVICE -U UUID: -L LABEL:卷标 伪文件系统:proc,sysfs mount_point:dir 事先存在,尽量为空 选项: -U UUID: -L 卷标: -r: -w: -a:支持自动挂载 -B:绑定 -t:指明文件系统类型 -o option:挂载文件系统的选项 rw:读写 ro:只读 suid:管理员用户挂载 dev:设备文件 exec:自动运行程序 auto:自动挂载 nouser:普通用户挂载 async:异步 默认:defaults例mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在 mount /dev/fd0 /mnt/floppy 挂载一个软盘 mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享 自动挂载: 配置:/etc/fstab 1字段:设备文件 使用UUID 2字段:挂载点 3字段:文件系统 4字段:挂载选项 5字段:转储频率 0:不做备份 1:每天转储 2:每隔一天转储 6字段:自检次序 0:不自检 1:首先自检2.umount命令:卸载文件系统 umount DEVICE umount MOUNT_POINT查看正在访问指定文件系统的进程 fuser -v MOUNT_POINT终止所有所有正在访问指定的文件系统进程 fuser -km MOUNT_POINT例:umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出 umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 3.df命令:查看系统挂载情况df:查看挂载情况 -h:单位换算 -i:查看inode信息例:df -h 显示已经挂载的分区列表 4.du命令:查看目录总体空间占用详情5.fsck命令:文件系统检测 fsck.FS_TYPE /dev/DIVICE -a:自动修复 -r:交互式修复错误例:fsck /dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性 fsck.ext2 /dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性fsck.ext3 /dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性 fsck.vfat /dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性 fsck.msdos /dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性 6.dd命令:数据备份恢复例:dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’ 通过ssh在远程主机上执行一次备份本地磁盘的操作  dd if=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件  dd if=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作  dd if=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容 (十一).系统安全相关命令1.Passwd命令:修改密码Linux用户和用户组相关的配置文件: /etc/passwd:用户及其属性信息 /etc/shadow:用户密码文件 /etc/group:组信息文件 /etc/gshadow:组密码文件 /etc/passwd: name:password:UID:GID:GECOS:directory:shell/etc/shadow 用户名:加密了的密码:最近一次修改密码的更改时间: 密码最小使用期限:最大使用期限:密码警告时间:密码 禁用期:账号过期日期:保留字段 加密了的密码 加 密 算 法 加密算法 随机数$加密密文设置密码: passwd UserName:修改指定用户的密码,仅root passwd:修改自己的密码 --stdin :从标准输入接收用户密码 echo “PASSWORD” | passwd --stdin USERNAME -l:锁定用户 -u:解锁用户2.Su命令:用户切换 su [option] [-] [user] su UserName:非登录切换,不会切换至家目录 su - UserName:登录式切换,会切换至家目录 换个身份执行命令: su [-] UserName -c “COMMAND"3.umask命令:文件目录创建遮罩码FILE:666-umask 如果某类的用户权限减的结果中存在x权限,则 将其权限+1 666-333=333 444 DIR:777-umask umask #:设定umask值 文件默认权限为644,该如何操作 666 - umask = 644 0224.chmod命令:修改文件权限chmod [option] OCTAL-MODE FILE -R:递归修改权限 MODE: u=,g=,o=,a= u+,u-,g+,g-,o+,o- 777,644,755例:chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限 chmod u-s /bin/file1 禁用一个二进制文件的 SUID位 chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的 chmod g-s /home/public 禁用一个目录的 SGID 位 chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件 chmod o-t /home/public 禁用一个目录的 STIKY 位 5.chown命令:修改文件属主和属组chown [option] [owner][:[GROUP]] FILE … -R:递归修改 用法: OWNER OWNER:GROUP :GROUP 命令中的冒号可以替换成点号例:chown user1 file1 改变一个文件的所有人属性 chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性chown user1:group1 file1 改变一个文件的所有人和群组属性 6.chgrp命令:修改文件群组例:chgrp group1 file1 改变文件的群组 7.ps命令:查看系统进程状态8.whoami命令:查看当前登陆用户(十二).进程管理命令bg:后台运行 fg:挂起程序 jobs:显示后台程序kill,killall,pkill:杀掉进程crontab:设置定时 ps:查看进程 pstree:显示进程状态树top:显示进程 nice:改变优先权 nohup:用户退出系统之后继续工作pgrep:查找匹配条件的进程 strace:跟踪一个进程的系统调用ltrace:跟踪进程调用库函数的情 vmstat:报告虚拟内存统计信息(十三).危险的系统命令mv rm dd fdisk parted(十四).其他命令1.echo命令:回显shell程序:为用户提供了一个CLI接口操作Linux系统。 bash echo S H E L L : 查 询 当 前 系 统 所 使 用 的 s h e l l 程 序 c a t / e t c / s h e l l s : 查 看 系 统 所 支 持 的 所 有 s h e l l 程 序 e c h o " SHELL :查询当前系统所使用的shell程序 cat /etc/shells :查看系统所支持的所有shell程序echo " SHELL:使shellcat/etc/shells:shellecho"VAR_NAME”:变量会替换,双引号表弱引用 echo ‘$VAR_NAME’:变量不会替换,单引号表强引用 -n:禁止换行 -e:允许使用转义符 \n:换行 \t:制表符2.Yum命令:安装依赖软件安装管理: 软件安装方式: 源码编译安装 rpm包管理–>yum,dnf前端管理工具安装rpm包管理: 包命名格式: name-VERSION-arch.rpm arch:操作系统版本.CPU架构版本 软件包的组成: 文件清单 安装或卸载时运行的脚本 系统软件数据库 程序包名及版本 依赖关系 功能说明 安装生成的个文件的文件路径及校验码信息 软件包获取 系统自带光盘 http://rpmfind.net http://rpm.pbone.net http://pkgs.org 自己制作 项目官方 搜引擎搜索 作业:安装QQ和微信rpm管理方式: 1.挂载系统安装盘 mount /dev/sr0 /media安装: rpm -i {install-option} PACKAGE 通用选项: -v:详细信息 -vv:详细详细信息 -h:以#显示程序安装时的进度条 install-option --test:测试安装 --nodeps:忽略依赖关系 --replacepkgs:重新安装升级: rpm -U|-F [install-option] PACKAGE -U:如果未安装升级时安装,已安装则升级 -F:如果未安装则不升级不安装,已安装则升级 install-option --oldpackage:降级 --force:强制查询: rpm -q [select-options] [query-option] package 选择选项: -a:所有包 -f:查询指定的文件由哪个程序包生成 -p /path/to/file:针对尚未安装的程序包文件做查询 操作 查询选项: -c:查询程序的配置文件 -d:查询程序的文档 -i:程序的信息 -l:查看指定的程序包安装后生成的所有文件 用法: -qi,-qf,-qc,-ql,-qd -qpi,-qpl -qa卸载: rpm -e PACKAGE --nodeps校验: rpm -V package 导入公钥: rpm --import /path/to/RPM-GPG-KEY-CentOS-7 数据库重建: rpm {–initdb|–rebuilddb} initdb:初始化,如果存在数据则不操作 rebuilddb:重建,直接重建数据库 作业:yum的方式将虚拟化环境安装,源码编译安装httpd yum软件安装 构建仓库:将所有软件存放在一起,并构建一个软件清单列表 下载安装时能解决软件依赖的关系(软件清单目录repodata) 仓库: 1.系统安装盘 2.互联网上的仓库 3.自建仓库 仓库的访问方式: file:/// 本地文件协议 http:// https:// nfs:// 网络文件协议 ftp:// 配置yum客户端文件: /etc/yum.repos.d/.repo [repoID] 仓库ID,必须唯一 name= 仓库名称 baseurl= 指明仓库地址以及下载方式 enabled=1|0 1:启用仓库,默认选项 0:禁用仓库 gpgcheck=1|0 gpgkey= 校验文件位置 yum命令的使用: 清除缓存: yum clean all 构建缓存 yum makecache 查看软件清单列表 yum repolist安装: yum install package1 package2 … y:下载安装 d:仅下载 n:取消更新: yum update package1 package2 … 降级 yum downgrade package1 package2 …查询搜索 yum search检查可用升级包 yum check-update卸载程序包 yum remove 程序包名查看程序包的信息 yum info 程序包名 yum历史操作 yum history选项: -y 自动回答为yes --nogpgcheck:禁止进行gpgcheck -q:静默模式 --disablerepo=repoidglob:临时禁用此处指定repo --enablerepo=repoidglob:临时启用此处指定repo 自建仓库: 1.准备软件包 2.安装createrepo工具 yum install createrepo 3.创建repodata清单目录 createrepo ./ 作业:源码编译安装httpd 源码编译安装httpd 1…/configure 检查编译环境,准备编译源码所依赖的各种文件 传递参数,启用软件的功能特性等 2.make 编译 3.make install 编译安装例:yum install package_name 下载并安装一个rpm包 yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系  yum update package_name.rpm 更新当前系统中所有安装的rpm包 yum update package_name 更新一个rpm包 yum remove package_name 删除一个rpm包 yum search package_name 在rpm仓库中搜寻软件包 yum clean packages 清理rpm缓存删除下载的包 yum clean headers 删除所有头文件 yum clean all 删除所有缓存的包和头文件 3.alias命令:命令别名命令别名:alias alias:显示当前shell进程所有可用的命令别名 alias NAME=‘VALUE’:定义别名 命令行中定义的别名,只在当前shell有效,如果永久 有效要定义在配置文件中: 个人:~/.bashrc 全局:/etc/bashrc 定义在配置文件不会立即生效,需要bash进程重读 配置文件 source /path/to/config_file . /path/to/config_file 撤销别名:unalias unalias [-a] name 如果别名同命令的名称,则如果需要执行原命令,使用 “\COMMAND”4.history命令:查看历史命令history:查看历史命令 !!:调用上一条命令 !string:调用历史中最近一个以string开头的命令 !#:调用历史中第#命令 -a:追加本次会话新执行的命令至历史文件中 -d:删除历史中指定的命令 -c:清空命令历史5.nohup命令3.剥离终端关系 nohup COMMAND &6.grep命令:文本过滤工具grep作用:文本搜索工具,根据用户指定的“模式”对目标 文件逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 正则表达式:由一类特殊字符及文本字符所编写的模式 其中有些字符不表示字面意义,而表示控制或通配 功能。 grep [option] PATTERN file -v:反选 -i:忽略大小字母 -o:仅显示匹配到的字符串 -q:静默模式 -A#:后#行 -B#:前#行 -C#:前后#行 -E:使用egrep 正则表达式的元字符: 字符匹配: .:匹配任意单个字符 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 [1]、[[:lower:]]、[[:upper:]]、[[:alpha:]] [[:alnum:]]、[[:space:]]、[[:punct:]] 匹配次数:用在次数的字符后面,用于指定前面的字符要 出现的次数 :前面字符出现任意次 .:任意长度任意字符 贪婪模式 ?:匹配前面字符0次或1次 +:匹配前面的字符至少一次 {m}:匹配前面的字符m次 {m,n}:匹配前面字符至少m次,至多n次 {0,m}:匹配前面字符至多m次 {m,}:匹配前面字符至少m次 元字符的位置锚定和分组 位置锚定 ^:行首锚定,用于模式的最左侧 : 行 尾 锚 定 , 用 于 模 式 的 最 右 侧 P A T T E R N :行尾锚定,用于模式的最右侧 ^PATTERN :PATTERN:匹配整行 ^ : 空 行 [ [ : s p a c e : ] ] ∗ :空行 ^[[:space:]]* :[[:space:]]:空白行 \b或<:词首锚定,用于单词的左侧 \b或>:词尾锚定,用于单词的右侧 分组: ():将一个或多个字符捆绑在一起,当作一个整体进行 处理。 后向引用:引用前面的分组括号中的模式所匹配的字符 如何引用:分组括号中的模式匹配内容会被正则表达式 保存至变量中,变量名为:\1,\2,\3… (ab+(xy)) \1=ab+(xy) \2=xy例:grep Aug /var/log/messages 在文件 '/var/log/messages’中查找关键词"Aug" grep ^Aug /var/log/messages 在文件 '/var/log/messages’中查找以"Aug"开始的词汇 grep [0-9] /var/log/messages 选择 ‘/var/log/messages’ 文件中所有包含数字的行 grep Aug -R /var/log/* 在目录 ‘/var/log’ 及随后的目录中搜索字符串"Aug" 7.补充配置远程访问: 1.配置网络: cd /etc/sysconfig/network-scripts cd DIR 进入指定目录 ls 列出当前目录下的文件列表 vim ifcfg-ens33 编辑网卡配置文件 BOOTPROTO=static | dhcp 手动|自动 配置IP地址 IPADDR=20.0.0.2 NETMASK=255.255.255.0 ONBOOT=yes 激活网卡 vim操作 输入i键进入输入模式,输入内容后 按ESC键,输入:号进入末行模式 wq 保存退出 2.重启网络 systemctl restart network 3.查看IP地址 ifconfig 4.连接Linux服务器 ssh IPLinux的终端: GUI:图形化终端 CLI:命令行终端 Linux的交互式接口:GUI和CLIshell程序:为用户提供了一个CLI接口操作Linux系统。 bash echo $SHELL :查询当前系统所使用的shell程序 cat /etc/shells :查看系统所支持的所有shell程序bash的命令类型: 内部命令:由bash程序自身提供 外部命令:为了完善系统功能,在系统的路径下提供的命令。 type COMMAND 判断命令的类型命令的工作流程: 输入命令敲回车:根据输入的字符串去bash中具体路径下 查找对应的命令,通过bash程序分析后提交给kernel进行 分析处理,表现形式为一个或多个进程。命令的格式: COMMAND [OPTION] [args]命令提示符: #:管理员用户,root KaTeX parse error: Expected 'EOF', got '#' at position 1334: …:查看命令的帮助级别 man #̲ COMMAND:使用指定#级…?特殊变量保存最近一条的执行状态结果 bash的快捷键 ctrl +l :清屏 ctrl +a :跳转至行首 ctrl +e :跳转至行尾 ctrl +c :取消命令 ctrl +u :删除命令行首至光标所在的所有内容 ctrl +k :删除光标所在处至行尾的内容管道 |: COMMAND1 | COMMAND2 | COMMAND3 | … bash变量类型:根据生效范围种类 本地变量,环境变量,局部变量,位置变量,特殊变量 环境变量: 定义环境变量: export name=VALUE 引用环境变量: n a m e , name, name,{name} 显示所有环境变量: export 销毁: unset name bash的配置文件: 两类: 全局:/etc/profile /etc/profile.d/*.sh /etc/bashrc 个人:~/.bash_profile ~/.bashrc命令路径优化: 编辑bash的配置文件~/.bash_profile export PATH=$PATH:/path/to/software/bin 编辑配置文件生效的方式: 1.重新启动shell进程 2.使用source或. 命令 用户管理:token凭证,身份认证(用户名/密码)资源分派 认证:Authentication 授权:Authoritarian 审计:Audition 3A认证服务器Linux用户:username/UID 管理员:root,0 普通用户:1-65535 系统用户:1-999 登录用户:1000+ 系统用户 对守护进程获取资源进行权限分配 Linux组:Groupname/GID 管理员组:root,0 普通组: 系统组:1-999 普通组:1000+安全上下文: 运行中的程序:进程(process) 以进程发起者的身份运行 进程所能够访问的所有资源的权限取决于进程的发起 者的身份linux组的类别: 主组,基本组 额外组,附加组LVMLV:组合LE,LE根据PE进行数量配比VG:将加入组中的硬盘依据固定块大小进行拆分,默认4M, 称为PEPV:将硬盘加入该组中 LV:/dev/mapper/VG_NAME-LV_NAME /dev/VG_NAME/LV_NAMEPV管理工具: pvdisplay 显示pv详情 pvcreate /dev/DEVICE 创建pv pvremove /dev/DEVICE 删除pvvg管理工具: vgdisplay 显示vg详情 vgcreate [-s #[kmgtpe]] VG_NAME PV_NAME vgextent VG_NAME PV_NAME vgreduce VG_NAME PV_NAME 先做pvmove PV_NAME LV管理工具: lvdisplay 显示lv详细 lvcreate -L #[mgt] -n LV_NAME VG_NAME 扩展逻辑卷: 先扩展pv,vg lv扩展: lvextend -L [+]20G /dev/VG_NAME/LV_NAME ext系列文件系统扩容: resize2fs /dev/mapper/VG_NAME-LV_NAME 减容逻辑卷: umount fsck -f /dev/mapper/VG_NAME-LV_NAME 检查文件系统 resize2fs /dev/VG_NAME/LV_NAME #[kmgt] lvreduce -L [-]#[kmgt] /dev/VG_NAME/LV_NAME mount 邮件系统: 邮件地址:用户名[@主机名] mailx -s “SUBJECT” username[@hostname] 邮件正文生成 1.直接输入内容,ctrl + D 2.输入重定向 3.通过管道: echo -e “正文” | mailx 查看邮件: mailx 周期性任务:cron 相关的程序包: cronie:主程序包,提供了crond守护进程及辅助工具 cronie-anacron:cronie补充程序;用于监控cronie 任务执行状况,如果cronie中的任务在过去该运行 时间点未能正常运行,则anacron会随后启动一次 此任务。 确保crond守护进程处于运行状态 systemctl status crond系统cron任务:系统维护作业 /etc/crontab用户cron任务 crontab -e 系统任务: cat /etc/crontab 分 时 日 月 周 用户 命令 时间表示法: 特定值:给定时间点有效取值范围的所有值 *:所有值,“每…” 离散取值:#,#,# 连续取值:#-# 在指定时间范围上,定义步长: /#:#即为步长案例:每三小时执行一次du -sh /etc 2 */3 * * * root /usr/bin/du -sh /etc用户cron: 文件:/var/spool/cron/USERNAME crontab -e -l:列出所有任务 -e:编辑任务 -r:移除所有任务 -i:同-r使用,交互式删除任务


  1. :digit: ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值