Linux基本命令

(一)基本命令

  • su 切换用户

    • su 【-l】用户名
  • passwd 修改用户密码

    • passwd 用户名
  • ls 文件列表

    • -l 长格式  文件类型(-:普通文件、d:文件夹、b:块设备文件、c:字符设备文件、l:符号链接文件、p:命令管道文件、s:套接字文件)、文件权限、文件硬链接次数、文件属主、文件属组、文件大小、时间戳。
    • -h 单位转换
    • -a 显示隐藏文件
    • -d 显示目录本身
    • -i 显示文件inode号
    • -r 倒叙排列 
    • -R 递归显示
  • cd 目录切换

    • ~username 进入指定用户的家目录
    • - 在当前目录和上次目录将切换
  •  watch 周期性执行命令

    • -n:指定周期执行间隔时间

    • watch -n 2  'cat /proc/mdstat' :每2s执行一次cat /proc/mdstat命令
  • type 命令类型

    • 内置命令(shell内置)
    • 外部命令:在文件系统某个路径下有一个与命令名称相应的可执行文件
  • which 查找命令

    • 通过path环境变量查找命令所在地方

  • whatis 查询命令

    • 查询命令功能
    • 查询手册位置
  • man 手册

    • 1:用户命令(/bin /use/bin /usr/local/bin)
    • 2:系统调用
    • 3:库用户
    • 4:特殊文件
    • 5:文件格式(配置文件的语法)
    • 6:游戏
    • 7:杂项
    • 8:管理命令(/sbin /use/sbin /usr/local/sbin)
  • date 时间

    • date -s "2017-07-28 17:42:00" 修改时间
  • clock

    • -w系统时间到硬件时间
    • -s硬件时间到系统
  • hwclock 硬件时间

    • -w系统时间到硬件时间
    • -s硬件时间到系统
  • cal 查看日历

    • 查看日历
    • cal 2017 查询2017年日历
    • cal 2 2017查询2017年2月日历
  • echo 打印输出

    • -e启用转移字符
    • \n换行
    • echo -e "123\n456" 启用换行符
  • printf 格式化打印输出

    • printf "1\t2\t3\n"
  • file 文件类型

    • 检查文件类型
  • 文件系统

    • /boot:系统启动文件,如内核、initrd、以及grub
    • /dev:设备文件
    • /etc:配置文件
    • /home:用户家目录
    • /root:管理员的家目录
    • /lib:库文件
    • /media:移动设备挂载点
    • /mnt:其他文件系统挂载点
    • /opt:第三方程序安装目录
    • /proc:伪文件系统,为内存的映射文件
    • /sys:伪文件系统,为硬件设备相关的属性映射文件
    • /tmp:临时文件
    • /var:可变化的文件
    • /bin:用户命令
    • /sbin:管理命令
    • /usr:Unix System Resource,即Unix系统资源的缩写
      • /usr/bin
      • /usr/sbin
      • /usr/lib
      • /usr/local
        • usr/local/bin
        • usr/local/sbin
        • usr/local/lib
  •  mkdir 创建目录

    • -p递归创建
    • -v显示详情
    • mkdir -p ./a/{b/c,d}
    • mkdir -pv /home/gdh/{a,b}_{c,d}
  • tree 递归展示目录结构

  • rmdir 删除目录

  • touch 修改文件时间戳(可以创建文件)

    • -c不创建目录
    • -a修改访问时间
    • -m修改修改时间
    • -t指定改变的时间
  • stat 显示文件信息

  • rm 删除

    • -r递归删除目录及其内容
    • -f强制删除。忽略不存在的文件,不提示确认
    • -i在删除前需要确认
  • cp 复制

    • -r递归复制目录及其子目录内的所有内容
    • -i交互式,询问是否覆盖...
    • -P保持文件原有属性,是链接文件即保持链接本身
    • -a归档复制
    • 复制一个文件到另外一个文件 cp a b
    • 复制多个文件到一个目录 cp a b c/
  • mv 移动文件

  • cat 查看文件

    • -n显示行号
    • -e在每行结束处显示"$"
  • tac 倒叙查看文件

  • more 满屏后退出

    • 【b】向上翻页
    • 【space】向下翻页
  • less 满屏后不退出

    • 【b】向上翻页
    • 【space】向下翻页
  •  head 查看文件首部

    • -n指定页码数
  •  tail 查看文件尾部

    • -f即时输出文件变化后追加的数据
    • -n指定页码数
  •  cut

    • -d指定分隔符,默认为tab
    • -f指定显示的字段
  •  join

  •  sed

    • 常用选项
      • -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
      • -e∶直接在指令列模式上进行 sed 的动作编辑;
      • -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
      • -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
      • -i∶直接修改读取的档案内容,而不是由萤幕输出。
    • 常用命令
      • a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
      • c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
      • d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
      • i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
      • p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
      • s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
    • d删除某行
      • [root@localhost ruby] # sed '1d' ab              #删除第一行 
      • [root@localhost ruby] # sed '$d' ab              #删除最后一行
      • [root@localhost ruby] # sed '1,2d' ab           #删除第一行到第二行
      • [root@localhost ruby] # sed '2,$d' ab           #删除第二行到最后一行
    • p显示某行
      • [root@localhost ruby] # sed -n '1p' ab           #显示第一行
      • [root@localhost ruby] # sed -n '$p' ab           #显示最后一行
      • [root@localhost ruby] # sed -n '1,2p' ab        #显示第一行到第二行
      • [root@localhost ruby] # sed -n '2,$p' ab        #显示第二行到最后一行
    • /pattern/使用模式进行查询
      • [root@localhost ruby] # sed -n '/ruby/p' ab    #查询包括关键字ruby所在所有行
      • [root@localhost ruby] # sed -n '/\$/p' ab        #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
      • [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替换ruby为bird
      • [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'        #删除ruby
    • a后面新增一行
      • [root@localhost ruby] # sed '1a drink tea' ab  #第一行后增加字符串"drink tea"
      • [root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
      • [root@localhost ruby] # sed '1a drink tea\nor coffee' ab   #第一行后增加多行,使用换行符\n
      • [root@localhost ruby] # sed '/drink/a hello' ab   #在有drink的行后面增加字符串hello
    • c替换
      • [root@localhost ruby] # sed '1c Hi' ab                #第一行代替为Hi
      • [root@localhost ruby] # sed '1,2c Hi' ab             #第一行到第二行代替为Hi
    • i前面新增一行
      • [root@localhost ruby] # sed -i '$a bye' ab         #在文件ab中最后一行直接输入"bye"
      • [root@localhost ruby] # sed -i '$a bye' ab         #在文件ab中最后一行直接输入"bye"
      • [root@localhost ruby] # sed '/drink/i hello' ab   #在有drink的行前面增加字符串hello
    • r将指定文件内容添加至符合条件的位置
      • [root@localhost ruby] # sed ‘2r /etc/fatab’ ab   #将/etc/fstab文件添加至ab文件的第二行处
      • [root@localhost ruby] # echo /etc/passwd | sed -r 's@^(/.*/)[^/]+/?@\1@g'  #取出文件目录名称
    • w将地址指定范围内的行另存至指定的文件中
      • [root@localhost ruby] # sed ‘/oop/w /tmp/oop.txt’ ab   #将ab文件中有oop的行另存至/tmp/oop.txt文件中
    • s查找并替换 s/pattern/new/
      • [root@localhost ruby] # sed ‘s/oop/OOP/’ ab   #将ab文件中oop替换成OOP,默认只替换每一行出现的第一个
      • [root@localhost ruby] # sed ‘s/^\//OOP/’ ab   #将ab文件中行首的/替换成OOP
      • [root@localhost ruby] # sed ‘s/oop/OOP/g’ ab   #将ab文件中oop替换成OOP
      • [root@localhost ruby] # sed ‘s/oop/OOP/i’ ab   #将ab文件中oop替换成OOP,其中oop不区分大小写
      • [root@localhost ruby] # sed 's/(l..e)/\1r/g' ab    #将ab文件中以l**e替换成l**er
      • [root@localhost ruby] # sed 's/^[[:space:]]// ab' #将ab文件中每一行的行首空格去掉:
      • [root@localhost ruby] # sed 's/\(id:\)[0-9]\(\:initdefault)/\15\2/g' /etc/inittab #将/etc/inittab文件中id:*:initdefault替换成id:5:initdefault
      • [root@localhost ruby] # sed 's/(l..e)/\1r/g' ab    #将ab文件中以l**e替换成l**er
      • [root@localhost ruby] # sed 's/^$/d' ab #删除ab文件中的空白行
  •  awk

    • -F:指定分隔符

    • df -h | awk '{print $1,$3,$NF}'
  •  grep

    • -i:忽略大小写
    • -v:匹配到的不显示
    • --color:高亮显示
    • 元字符表达式搜索
      • .任意单个字符
      • *匹配前面的字符任意次
      • a.*b:匹配以a开始,以b结束
      • ?:匹配0次或1次,使用时需要转义
      • ():分组
      • \1:应用第一个分组
      • {m,n}:匹配至少m次,最多n次,使用时需要转义
      • ^:定位行首
      • $:定位行尾
      • ^$:空白行
      • \<:匹配词首
      • \>:匹配词尾
      • \b:匹配词首或词尾,根据位置
  •  sort 排序

    • -n按照数值大小排序
    • -r逆序排序
    • -t指定分隔符
    • -k选择排序的字段
    • -u去重复
    • -f排序时忽略大小写
    •  sort -n -t: -k3 /etc/passwd
  • uniq 去相邻重复行

    • -d只显示重复行
    • -c显示重复次数
  • wc 统计

    • -c输出字节数统计
    • -m输出字符数统计
    • -l输出行数统计
  • tr 转换或删除字符

    • tr 'ab' 'AB'</etc/passwd
    • -d删除出现的字符
  • pstree 查看进程树

  • ps 进程状态

    • a:显示所有与终端有关的进程
    • u:以用户的格式显示进程状态
    • x:显示所有进程
    • -e:显示所有进程
    • -l:显示详细信息
    • -f:显示UID,PPIP,C与STIME栏位
    • 进程状态
      • D:不可中断的睡眠
      • R:运行或就绪
      • S:可中断的睡眠
      • T:停止
      • Z:僵死
      • <:高优先级
      • N:低优先级
      • +:前台进程组中的进程
      • l:多线程进程
      • s:回话进程首进程
  • pidof 根据程序名称查找id号

    • pidof init
  • top 系统运行状况

    • M:根据驻留内存大小进行排序
    • P:根据CPU使用百分比进行排序
    • T:根据累计时间进行排序
    • l:是否显示平均负载和启动时间
    • t:是否显示进程和CPU状态相关信息
    • m:是否显示内存相关信息
    • c:是否显示完整的命令行信息
    • q:退出
    • k:终止某个进程
  • kill 通过PID杀死进程

    • kill -15 13783 结束13783进程
    • kill %2 终止2号后台作业
  • killall 通过名称杀死进程

    • killall vi 结束所有的vi进程
  • renice 调整进程nice值

    • renice 3 3612 将PID为3612的进程的nice值调整为3
  • nice 用于以指定的进程调度优先级启动其他的程序

    • -n 指定nice值
    • nice -n 3 useradd gdh 以nice值为3运行useradd gdh命令
  • chkconfig 查看或设置服务状态

1 chkconfig --list #列出所有的系统服务。 
2 chkconfig --add httpd #增加httpd服务。 
3 chkconfig --del httpd #删除httpd服务。 
4 chkconfig --level httpd 2345 on #设置httpd在运行级别为2、34、5的情况下都是on(开启)的状态。 
5 chkconfig --list #列出系统所有的服务启动情况。 
6 chkconfig --list mysqld #列出mysqld服务设置情况。 
7 chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭。 
8 chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、34、5等级。
  • bg:让后台程序继续运行

  • fg:将后台程序调回前台

  • jobs:查看后台程序列表

  • 终端快捷方式

    • Ctrl+a:跳转命令行首
    • Ctrl+e:跳转命令行尾
    • Ctrl+u:删除光标至行首内容
    • Ctrl+k:删除光标至行尾内容
    • Ctrl+l:清屏
  • history 命令的历史记录

    • -c清除历史记录
    • -d删除指定位置的命令
    • -w保存命令历史到历史文件--在用户家目录下的.bash_history文件中
    • !name执行最近一次相近的命令
    • !!执行上一条命令
    • !$ 应用上一次命令参数
    • 【Esc+.】应用上一次命令参数
  • printenv 查询环境变量

  • alias 别名

  • unalias 删除别名

  • umask 遮罩码

    • 文件为666-umask 且文件不能有执行权限,有则将权限+1
    • 目录为777-umask
  • set 设置已存在的shell变量,“+”和“-”用来打开或关闭指定模式

  • 输入输出

    • >输出重定向
    • 2>错误输出重定向
    • $>正确和错误重定向
    • | 管道:前一个命令的输出作为后一个命令的输入
  • tee 内容输出到屏幕和文件

  • 配置

    • 全局配置文件
      • /etc/profile
      • /etc/profile.d/*.sh
    • 个人配置文件
      • ~/.basn_profile
      • ~/.bashrc
  • tar 归档压缩解压

    • -c:创建归档文件
    • -C:指定展开目录
    • -x:展开归档文件
    • -f:操作的归档文件
    • -t:不展开浏览文件
    • -z:调用gzip命令
    • -j:调用bzip2命令
    • --xattrs:归档时保留扩展属性
    • tar -cf test.tar test*.txt 将tets*.txt文件归档成test.tar文件
    • tar -zcf test.tar.zp test*.txt:将tets*.txt文件归档并用gzip进行压缩成test.tar文件
    • tar -xf test.tar 展开test.tar(如果归档文件采用了压缩算法,tar会自动根据相应的解压缩算法进行解压)
    • tar -zxf test.tar.zp 解压缩test.tar.zp并展开
    • tar -tf test.tar 不展开浏览tar文件(如果归档文件采用了压缩算法,tar会自动根据相应的解压缩算法进行解压浏览)
    • tar -ztf test.tar.zp 不展开浏览tar.zp文件
  • gzip 压缩  gunzip 解压  zcat 不解压浏览内容

    • 压缩:gzip aaa         将aaa文件压缩成aaa.gz
    • 解压:gzip -d aaa.gz      将aaa.gz文件解压
    • 指定压缩比:gzip -6 aaa    压缩比为6进行压缩aaa文件
  • bzip2 压缩  bunzip2 解压 bzcat不解压浏览内容

    • 压缩:bzip2 aaa 压缩aaa
    • 解压:bzip2 -d aaa.bz2     将aaa.bz2文件解压
    • -k 保留源文件
  • xz

    • 压缩:xz aaa
    • 解压:xz -d aaa.xz
  • zip

    • zip 目标 源1 源2 源3 ...
  • VIM 编辑器

    • 进入编辑模式:按【i,o,a,I,A,O】。
      • i在光标之前插入数据
      • a在光标之后插入数据
      • o在光标下行插入数据
      • I在光标行首插入数据
      • A在光标尾首插入数据
      • O在光标上行插入数据
    • 退出编辑模式:按ESC退出。
    • 查找字符:退出编辑模式,按?aaa查找aaa字符串,按【n】和【N】进行上下页翻页。
    • 删除:【dd】删除光标所在行,【ndd】删除光标以下n行数据。
    • 复制:【yy】复制光标所在行,【nyy】复制光标以下n行数据。
    • 粘贴:【p】将复制的数据粘贴到光标下一行。
    • 撤销:【u】撤销上一次操作。
    • :!command 执行shell命令
    • Ctrl+r :撤销撤销操作
    • Home和End键将光标移动至最前和最后位置。
    • Set nu设置行号
    • set nonu取消行号
    • 【PgUp】和【PgDn】进行翻页
    • vim +12 ab  打开ab文件并定位到12行
    • vim + ab      打开ab文件并定位到最后
    • vim +/init ab 打开ab文件并查找init关键字
    • gg 定位行首
    • G  定位最后一行
    • 替换
      • s/a/b/  将当前行的第一次出现的a替换成b
      • s/a/b/g  将当前行出现的a替换成b
      • 1,10 s/a/b/g 将1到10行所有的a替换成b\
      • 1,$ s/a/b/g  将全文的a换成b
    • 删除
      • 1d 删除第一行
      • 1,10d 删除1到10行
      • 1,$d 删除全文数据
    • 分屏显示
      • Ctrl+w,s:水平拆分窗口
      • Ctrl+w,v:垂直拆分窗口
      • Ctrl+w,↑↓←→:切换光标位置
      • qa:关闭所有窗口
    • 分窗口编辑多个文件
      • vim -o:水平拆分
      • vim -O:垂直拆分
  •  ln 软链接

    •  -s 创建软链接
    • 范例:ln -s aaa aaa.soft aaa创建一个名叫aaa.soft的软链接
    • ln   aaa aaa.hard aaa创建一个名叫aaa.hard的硬链接
  •  who 查询在线用户信息

    • -r:查看运行级别
  • uname -r 查看内核信息

  • runlevel 查看运行级别

  • sleep 睡眠

  •  last 查询用户登录历史信息

  •  lastb 查询用户登录错误历史信息

  •  lastlog 显示每一个用户最近一次的成功登录信息

  •  basename 获取文件名

  •  W 查看系统用户登录信息

  •  find 文件查找

    • [root@localhost ruby] # find /etc -name 'abc'  查找/etc目录下文件名为abc的文件
    • [root@localhost ruby] # find /etc -iname 'abc'  查找/etc目录下文件名为abc的文件,不区分大小写
    • [root@localhost ruby] # find /etc -user 'root'  查找/etc目录下属主为root的文件
    • [root@localhost ruby] # find /etc -group 'root'  查找/etc目录下属组为root的文件
    • [root@localhost ruby] # find /etc -uid 0  查找/etc目录下uid为0的文件
    • [root@localhost ruby] # find /etc -gid 0  查找/etc目录下gid为0的文件
    • [root@localhost ruby] # find /etc -nouser  查找/etc目录下没有属主的文件
    • [root@localhost ruby] # find /etc -nogroup  查找/etc目录下没有属组的文件
    • [root@localhost ruby] # find /etc -type [f,d,c,b,l,p,s] 查找/etc目录下具体类型的文件
    • [root@localhost ruby] # find /etc -size +10k 查找/etc目录下大于10k的文件
    • [root@localhost ruby] # find /etc -size -10k 查找/etc目录下小于10k的文件
    • [root@localhost ruby] # find /etc -nouser -a -type d 查找/etc目录下没有属主并且为目录
    • [root@localhost ruby] # find /etc -nouser -o -type d 查找/etc目录下没有属主或者为目录
    • [root@localhost ruby] # find /etc -not -type d 查找/etc目录非目录的文件
    • [root@localhost ruby] # find /etc -atime -5 查找/etc目录下在5天内访问过的文件
    • [root@localhost ruby] # find /etc -atime +5 查找/etc目录下在5天前访问过的文件
    • [root@localhost ruby] # find /etc -ctime -5 查找/etc目录下在5天前变更过的文件
    • [root@localhost ruby] # find /etc -ctime +5 查找/etc目录下在5天前变更过的文件
    • [root@localhost ruby] # find /etc -mtime +5 查找/etc目录下在5天前修改过的文件
    • [root@localhost ruby] # find /etc -amin +5 查找/etc目录下在5分钟前访问过的文件
    • [root@localhost ruby] # find /etc -cmin +5 查找/etc目录下在5分钟前变更过的文件
    • [root@localhost ruby] # find /etc -mmin +5 查找/etc目录下在5分钟前修改过的文件
    • [root@localhost ruby] # find /etc -perm 644 精确查找/etc目录下权限为644的文件
    • [root@localhost ruby] # find /etc -perm /644 查找/etc目录下权限有一个位匹配644的文件
    • [root@localhost ruby] # find /etc -perm -644 查找/etc目录下权限包含644的文件
    • [root@localhost ruby] # find /etc -perm /007 -exec chmod o-w {} \;   查找/etc目录下其他用户满权限的文件去掉写权限
    • [root@localhost ruby] # find /etc -perm /007 -ok chmod o-w {} \;   查找/etc目录下其他用户满权限的文件去掉写权限,每次操作需要确认
    • [root@localhost ruby] # find /etc -name "*.sh" -a -perm /007 -ok chmod o-w {} \;   查找/etc目录下以.sh结尾并且其他用户满权限的文件去掉写权限,每次操作需要确认
    • [root@localhost ruby] # find /etc -size +1M |  xargs echo {} >> /tmp/a.txt  查找/etc目录下大于1M的文件并将结果保存至/tmp/a.txt
    • [root@localhost ruby] # find /etc -perm /007 -ls   查找/etc目录下其他用户满权限的文件的详细信息
  • locate 在文件资料库中进行文件查找

  • updatedb 更新资料库

  • whereis:查找与之相关的文件

 

  • cut:按列筛选数据

    • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
    • -c :以字符为单位进行分割。
    • -d :自定义分隔符,默认为制表符。
    • -f  :与-d一起使用,指定显示哪个区域。
    • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
    • 范例:

(二)包管理

  • rpm
    • 安装
      • -i:安装套件
      • -h:显示经度
      • -v:显示详情
      • -vv:显示详情
      • --test:测试安装,用来检测依赖是否正确,并不会真正的安装
      • --replacepkgs:替换原有安装
      • --force:强制安装,可以实现重装或降级
      • 示例:rpm -ivh xxx.rpm:安装xxx.rpm包
    • 卸载
      • -e:卸载套件
      • --nodeps:忽略依赖进行卸载
      • rpm -e file.rpm --nodeps   [删除一个rpm包]忽略依赖关系
    • 查询
      • -c:查询rpm包配置文件
      • -d:查询rpm包帮助文件
      • -q:查询指定包名是否安装
      • -qa:查询已安装包
      • -i:显示套件的相关信息
      • -l:显示套件的文件列表
      • -f:查询指定文件是由哪个包安装包生成的
      • rpm -q samba  查询程序是否安装
      • rpm -qa | grep httpd [搜索指定rpm包是否安装]--all搜索*httpd*
      • rpm -ql httpd [搜索rpm包]--list所有文件安装目录
      • rpm -qf a.txt 查询a.txt是由哪个rpm包产生的
      • rpm -qc file.rpm 查询fie.rpm的配置文件列表
      • rpm -qd file.rpm 查询file.rpm的帮助文件列表
      • rpm -qpi xxx.rpm 查询未安装的xxx.rpm的相关信息
      • rpm -qpl xxx.rpm 查询未安装的xxx.rpm的安装后的文件列表
    • 升级
      • -U 安装或升级
      • -F 退出或升级
      • rpm -Uvh  xxx.rpm 安装或升级
      • rpm -Fvh  xxx.rpm 退出或升级
    • 校验
      • -V:校验包,查看变更过的文件
    • 建立数据库
      • --rebuilddb:根据已安装的rpm包的首部信息重新建立数据库
      • --initdb:初始化数据库,有就不初始化
  • YUM
    • /etc/yum.conf配置文件
    • /etc/yum.repos.d yum源配置目录,文件以xx.repo结束
1 [REPO_NAME] #repo的名称
2 name=REPO_DESCRIPTION #repo的详细名称
3 baseurl=http://  ftp://  file:/// #仓库的位置
4 enabled=[1|0] #启用或禁用
5 gpgcheck=[1|0] #是否启用或禁用gpg检查gpgkey
6 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #当gpgcheck为1时指定检查的key
    • list:列表
      • all:显示全部
      • available:可用的(未安装的)
      • installed:已安装的
      • updates:可用升级的
    • clean:清理缓存
    • repolist:显示repo列表
    • install:安装
      • -y:自动回答yes
      • --nogpgcheck:不进行gpg校验
    • update:升级
    • update_to:升级到指定版本
    • remove:卸载
    • info:查看软件包详情
    • provides:查看文件是由哪个软件包安装生成的
    • groupinstall:安装
    • groupinfo:查看软件组详情
    • groupupdate:更新
    • groupremove:卸载
  • ldd 查看程序所依赖的库列表

    • ldd /bin/bash
  • chroot 根切换

    • chroot /a/b/

(三)网络命令

  •  write <用户名>:给在线用户发信

  •  wall:给所有指定的用户发信息

  •  mail <用户名>:给指定用户发邮件

  •  last:查看用户登录信息

  •  lastlog:查看用户登录信息

  •  traceroute www.baidu.com:查看网络路由节点

  •  netstat

    • -ttcp协议
    • -uudp协议
    • -l:监听
    •  -r:路由
    •  -n:以数字方式显示
    • -p:显示进程号
    • 范例:  netstat -tuln 查看本机监听端口
    • netstat -an 查看本机所有网络连接
    • netstat -rn 查看本机路由表
  • setup:系统参数的快捷配置

 

(四)权限管理

  • 用户管理

    • useradd
      • -u  uid
      • -g  基本组
      • -G  附加组
      • -M  不创建家目录
      • -r  添加一个系统用户,系统用户uid小于500,并且没有家目录,不能登录系统
      • -c      描述
      • -s      指定shell
      • -d      指定用户默认家目录
    • id 查看用户的信息
    • userdel
      • -r  一并删除其他相关目录
    • usermod  修改用户账号属性
      • -u  uid
      • -g  基本组
      • -G  附加组
      • -l  修改用户名
      • -L  锁定用户
      • -U  解锁用户
    • passwd
      • -l  锁定用户账号
      • -u  解锁用户
      • -e      让密码失效,使用户下次登陆后需要修改密码
      • passwd -e gdh   让最后一次修改密码天数为0
    • chsh  修改用户的shell
    • chfn  修改用户的注释信息
    • finger  检索用户账号信息
    • pwck  检查用户账号完整性
    • chage  修改用户密码的信息
      • -d 修改最后一次密码修改天数
      • chage -d0 gdh  让最后一次修改密码天数为0
  • 组管理

    • groupadd
      • -g  gid
      • -r  创建系统组
    • groupdel  删除一个用户组
    • groupmod
      • -g  修改gid
      • -n  修改用户名
    • gpasswd  给组加密码,
    • newgrp   登录到另外一个组,
  • 权限管理

    • chown  修改文件属主和属组
      • R  递归修改   chown -R mysql:mysql aaa/ 将aaa目录及子目录的所属着和所属组修改成mysqlmysql
    • chgrp  修改文件属组
      • -R  递归 chgrp  mysql  a.txt 将a.txt文件的属组改为mysql组
    • chmod  修改文件权限
      • Chmod u+r aaa/  增加r权限
      • Chmod u=r aaa/  修改为r权限
      • Chmod u=r,g=r aaa/  修改u和g为r权限
      • Chmod ug=r aaa/  修改u和g为r权限
      • Chmod g-r aaa/
      • Chmod o+w aaa/
      • Chmod a+rwx aaa/
      • Chmod 777 aaa/
      • Chmod -R 777 aaa/ 递归修改目录中的权限
  • 特殊权限

    • SUID:运行某程序时,该程序运行时以该程序自身的属主身份运行
      • chmod u+s /bin/cat
      • chmod u-s /bin/cat
    • SGID:运行某程序时,该程序运行时以该程序自身的属组身份运行
      • chmod g+s /bin/cat
      • chmod g-s /bin/cat
    • Sticky:在一个公共目录,每个用户都可以创建文件,删除自己的文件,但是不能删除别人的文件
      • chmod o+t  DIR
      • chmod o-t   DIR
      • 四位权限表示SUID SGID Sticky
        • chmod 1755 /a/b 其中第一位表示拥有SUID
        • chmod 7755 /a/b 其中第一位表示拥有SUID、SGID、Sticky位
  • FACL 访问控制权限

    • setfacl
      • -m:设定
        • u:指定用户权限
        • g:指定组权限
        • [root@localhost ruby] # setfacl -m u:gdh:rwx /a/b :给gdh用户在/a/b文件上设定rwx权限
        • [root@localhost ruby] # setfacl -m g:gdh:rwx /a/b :给gdh用户组在/a/b文件上设定rwx权限
      • -x 取消
        • u:UID
        • g:GID
        • [root@localhost ruby] # setfacl -x g:gdh /a/b :取消gdh用户组在/a/b文件上设定的权限
        • [root@localhost ruby] # setfacl -m u:gdh /a/b :取消gdh用户在/a/b文件上设定权限
  • [root@localhost ruby] # getfacl inittab  获取inittab文件的facl信息
  • 文件权限详解

 

文件

文件夹

r

可以查看文件内容

可以列出文件中的内容

w

可以修改文件内容

可以创建、删除文件

x

可以自行文件

可以进入目录

 

 

(五)系统参数

  • uname -r 查看内核版本

  • sysctl 查看或修改内核的运行参数

    • -n:打印值时不打印关键字;
    • -e:忽略未知关键字错误;
    • -N:仅打印名称;
    • -w:当改变sysctl设置时使用此项;
    • -p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
    • -a:打印当前所有可用的内核参数变量和值;
    • -A:以表格方式打印当前所有可用的内核参数变量和值。
  • lsmod 查看系统装载的模块

  • modinfo 查看模块信息

  • modprobe 装载或移除模块

    • -a或--all:载入全部的模块;
    • -c或--show-conf:显示所有模块的设置信息;
    • -d或--debug:使用排错模式;
    • -l或--list:显示可用的模块;
    • -r或--remove:模块闲置不用时,即自动卸载模块;
    • -t或--type:指定模块类型;
    • -v或--verbose:执行时显示详细的信息;
    • -V或--version:显示版本信息;
    • -help:显示帮助。
    • 示例:
      • modprobe floppy 装载floppy模块
      • modprobe -r floppy 卸载floppy模块
  • insmod 装载模块

  • rmmod 移除模块

转载于:https://www.cnblogs.com/gongdaohai/p/7066653.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值