一些技巧

  • 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  
.-l 长格式

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

man

获得命令帮助
内部命令 help ---
外部命令 command---
命令手册 man 部命令使用man时,对应的是bash
分章节:
.用户命令 whatis 查看命令在哪个章节
.系统调用
.库用户
.特殊文件(设备文件)
.文件格式 解释某个命令的配置文件
.游戏
.杂项
.管理命令(/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 ,-d
-w 保存命令历史到历史文件中

用户管理

useradd [options] username
-u UID(> 不能重复) useradd -u 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 {}

shell之常用命令的更多相关文章

  1. HBase shell的常用命令(CRUD)

    @来源是传智播客hadoop的视频教程,觉得入门不错,就copy过来了 一.启动HBase: sudo -i  cd /home/cx/itcast/hbase-1.2.6/bin  ./start- ...

  2. Shell 脚本常用命令

    Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook.在工作过程中整理了一下,贴在这里已备查看. 1           Shell中的特殊符号 ...

  3. shell脚本常用命令汇总

    一.shell脚本概述和入门 (1)shell脚本是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核 (2)shell脚本的常用执行方式: 第一种:采用bash或sh+脚本的相对路径或 ...

  4. Shell脚本常用命令简介

    格式化日期yyyy-mm-dd hh:mm:ss显示 date "+%Y-%m-%d %H:%M:%S" 将内容写入到新文件 echo "hello">a ...

  5. shell编程常用命令

    Linux中常用的命令 #nl  filename   使用nl命令打印文件内容并显示行号 #sed   '/nw/,$d'   filename     使用sed命令删除匹配nw至最后一行的内容 ...

  6. linux常用命令(shell脚本常用命令)(grep、cut、sort、uniq、seq、tr、basename、dirname)

    本章命令: 1 2 3 4 5 6 grep cut sort uniq seq tr 1.grep 作用:过滤文本内容 选项 描述 -E :--extended--regexp 模式是扩展正则表达式 ...

  7. 【原创】Linux基础之Shell脚本常用命令

    #!/bin/sh 1 取脚本参数 $# 参数个数$0 当前脚本名$1 第1个参数$n 第n个参数$* 所有参数$@ 所有参数$? 上个命令的状态$$ 当前pid 2 日期 $ dateWed Mar ...

  8. shell笔记-----常用命令积累

    set -x # 执行指令前,先输出指令#set -o xtrace  # 与set -x效果一样 set -e 在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就 ...

  9. linux shell实用常用命令

    本文主要介绍Linux Shell的一些使用小技巧收集,非常实用,需要的朋友可以参考下. 查看本机某端口是否被占用 netstat -anpt | grep 22 查看远程某端口是否被开放 echo ...

随机推荐

  1. LeetCode Sort List 链表排序(规定 O(nlogn) )

    Status: AcceptedRuntime: 66 ms 题意:根据给出的单链表,用O(nlogn)的时间复杂度来排序.由时间复杂度想到快排.归并这两种排序.本次用的是归并排序.递归将链表的规模不 ...

  2. java Vamei快速教程16 RTTI

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 运行时类型识别(RTTI, Run-Time Type Identificatio ...

  3. 在linux 下为sublime Text 2 配置c#编译环境

    各位看官别笑我,在虚拟机上跑了了xp  xp里面安装了vs2008,然后电脑性能实在是太差了,所以装sublime用来编写代码,然后再统一由vs2008来调试. 说正事. 安装好sublime 之后, ...

  4. python_21_copy

    import copy person=['name',['saving',100]] #3种浅copy方式 p1=copy.copy(person) p2=person[:] p3=list(pers ...

  5. sublime package control以及常用插件

    一.package Control安装 1.sublime 3 import urllib.request,os; pf = 'Package Control.sublime-package'; ip ...

  6. 如何着手学习一个新的PHP框架

    如今的PHP框架层出不穷,名气也各不相同.如何快速掌握一种框架?看看本文吧~ 如今的PHP框架层出不穷,名气也各不相同.我不是这方面的专家,甚至不能熟练地使用其中的一种,所以就不作推荐了.这里我要讨论 ...

  7. 前端异常日志监控 - 使用Sentry

    背景 现在的前端项目越来越复杂,在不同的客户端会产生各种在开发人员机器上不会出现的问题.当用户报告一个问题给开发人员的时候,开发人员无法直接定位问题.在此前,听过一次鹅厂的前端人员,他们对QQ里面的网 ...

  8. 【SQL】连接 —— 内连接、外连接、左连接、右连接、交叉连接

    连接 · 内连接 · 外连接 · 左连接 · 右连接 · 全连接 · 交叉连接 · 匹配符号(+)  连接  根据表之间的关系,呈现跨表查询的结果.     外连接     内连接 左连接 右连接 全 ...

  9. 洛谷P3371单源最短路径Dijkstra版(链式前向星处理)

    首先讲解一下链式前向星是什么.简单的来说就是用一个数组(用结构体来表示多个量)来存一张图,每一条边的出结点的编号都指向这条边同一出结点的另一个编号(怎么这么的绕) 如下面的程序就是存链式前向星.(不用 ...

  10. PHP数据库扩展 - PDO操作

    PDO操作 PDO操作 描述:odp是php对数据库操作统一化的操作 语法:$pdo = new PDO("DB名:host=主机名;dbname=DB名","DB账号& ...