首页 > 代码库 > 常用命令积累

常用命令积累

一些技巧

  • ctrl+alt+f1切换至命令行模式
  • ctrl+alt+f7切换至图形界面
  • 命令行编辑:
    光标跳转
    ctrl+a 行首
    ctrl+e 行尾
    ctrl+d 删除
    ctrl+u 删除光标至行首的内容
    ctrl+k 删除光标至行尾的内容
    ctrl+l 清屏
  • 命令历史使用:
    !n 执行命令历史中第n条命令
    !-n 倒数第n条命令
    !!执行上一条命令
    !sring 执行命令历史中最近一次匹配的历史命令
    !$ 引用上一次命令中最后一个参数
  • 命令别名
    只在当前shell的声明周期有效,shell关闭,失效;同一个账号,多个终端,也无效
    alias cls=‘clear’
    alias 直接输入,可以显示当前所有的别名
  • 命令替换
    把命令中某个子命令替换为其执行结果
    echo "The current directory is $(pwd)"
    touch ./file-$(date +%F-%H-%M-%S).txt
    ualias
  • bash 支持的引号
    ` `:命令替换
    "":弱引用,可以实现变量替换
    ‘‘:强引用,不完成变量替换
  • 文件名通配,globbing
    *:任意长度的任意字符
    ?:匹配任意单个字符,至少有一个
    []:匹配指定范围内的任意单个字符
            [:space:] 空白字符
            [:punct:] 标点符号
            [:lower:] 小写字母
            [:upper:] 大写字母
            [:alpha:] 大小写字母
            [:digit:] 数字
            [:alnum:] 数字和大小写字母
    man 7 grep
    [^]:匹配指定范围外的任意字符
常识的东西
/etc             配置文件
/home        用户家目录
/root            管理员家目录
/lib                库文件,内核模块文件modules
                    静态库,动态库
/media                            移动设备挂载点
/mnt            挂载点目录    临时文件挂载点
/opt             可选目录,用于安装第三方程序目录
/proc            内核映射文件
/sys               跟硬件设备相关属性映射文件
/tmp             临时文件
/var               可变化的文件
/bin               可执行文件,用户命令
/sbin              管理命令
/usr                全局共享的只读文件
        /usr/bin
        /usr/sbin
        /usr/lib

        /usr/local/bin
        /usr/local/sbin
        /usr/local/lib

 

 
常用命令
ls  
技术分享
1.-l 长格式

- --- --- --- 
-:普通文件
b:块文件
c:字符文件
d:目录
l:符号链接文件
p:管道命令文件
s:套接字文件
文件权限 3位一组 r(4) w(2) x(1) --- user group otherime
文件硬链接数
文件的属主(owner)
文件的属组(group)
文件的大小(size),单位字节
时间戳(timestamp),这里最近一次被修改的时间
    访问:access
    修改:modify,修改内容
    改变:change,metadata,改变元数据(属性)
2.-h:单位转换
3.-a:显示以.开头的隐藏文件
4.-d:显示目录自身属性
5.-i:index node,inode,显示索引节点号
6.-r:逆序显示文件
7.-R:递归显示
 

man

获得命令帮助
内部命令 help ---
外部命令 command---
命令手册 man  部命令使用man时,对应的是bash
分章节:
1.用户命令 whatis 查看命令在哪个章节
2.系统调用
3.库用户
4.特殊文件(设备文件)
5.文件格式 解释某个命令的配置文件
6.游戏
7.杂项
8.管理命令(/sbin /bin)
[]可选
<>必选
....可以出现多次
()分组
man使用:
向后一屏,space
向前一屏,b
向后一行,enter
向前一行,k
查找:
/keyword 向后
多个结果的时候
n 下一个
N 上一个
?keyword 向前查找

文本处理

cut 
    -d 指定分隔符,默认是空格
    -f 指定要显示字段

sort 默认是按ASCII升序,自左往右
    -n 按照数值大小排序
    -r 逆序
    -t  指定分割符
    -k 以哪个字段为关键字进行排序
    -u 排序后,相同的行只显示一次
    -f 忽略字符大小写
uniq 只有相邻行,字符一样才认为是重复
    -d 报告重复行,是哪个
    -D 所有重复的行
    -c 显示某一行重复次数

wc(word count)
    默认统计:行  单词数  字节数
    -c 字节数
    -w 单词数
    -l 行数
    -L 最长的一行包含多少字符
tr 用于转换或删除字符,逐个字符进行处理,并非直接处理单词
  tr ‘a-z’‘A-B’将小写转换成大写
  tr -d ‘ab’删除字符集中出现的所有字符

命令历史

history 
    -c 清空命令历史
    -d 删除指定行或者开始之后的行 -d 100 ,-d 100 10
    -w 保存命令历史到历史文件中

用户管理

useradd [options] username
    -u UID(>500 不能重复) useradd -u 1000 user1
    -g GID(基本组,必须存在) useradd -g mygroup user2
    -G GID (附加组,可以有多个)
    -c “comment”
    -d /path/to/somedirectory指定家目录
    -s 指定shell的路径 useradd -s /bin/bash user3
            $SHELL用于保存当前用户的默认shell
    -m -k 强行创建家目录,并将/etc/skel 下的配置文件复制过去
    -r 添加一个系统用户,默认没有家目录    

id查看用户账号的属性信息 -u -g -G -n

finger 检索用户信息 finger username

userdel 默认不删除家目录
    -r 删除用户的同时删除家目录
    
修改账号属性信息
usermod 
    -u UID       
    -g GID
    -a -G GID额外指定附加组(没有-a会覆盖原有的附加组)
    -c
    -d -m指定新的家目录,并 移动文件到新的家目录下去
    -s 修改shell
    -l 修改登录名称
    -e 指定过期时间
    -L lock
    -U unlock

chsh username修改用户默认shell
chfn username 修改注释信息

密码管理
passwd [username]
        --stdin    echo “redhat”| passwd --stdin user2
        -l lock
        -u unlock
        -n 最小密码期限
        -d 删除密码
pwck 检查用户账号的完整性

文件查找

locate 非实时,模糊匹配,查找时根据系统文件数据库进行
updatedb 手动生成文件数据库

find 实时,精确,支持众多标准
find 超找路径 查找标准 查找到以后的处理运作
匹配标准:
    -name ‘FIlENAME’区分大小写
    -iname 不区分大小写
    -regex pattern 基于正则表达式进行文件名查找
    -user USERNAME根据属主查找
    -group GROUPNAME 根据属组查找
    -uid UID
    -gid GID
    -nouser 查找没有属主文件
    -nogroup 查找没有属组的文件
    -type  【f d c b l p s】
    -size #k #M #G
    -mtime
    -ctime
    -atime
    -mmin【+|-】#
    -cmin 【+|-】#
    -amin 【+|-】#
    -perm mode
            /mode 有一位匹配就行
            -mode完全匹配
组合条件
    -a and
    -o or
    -not !
运作:
    -print 显示
    -ls 类似ls -l 的形式显示每一个文件的详细
    -ok command {}   find / -size +1M -exec echo {}
    -exec command {} 

 

常用命令积累