Linux历史记录,输出重定向等命令 | 张扎瓦的博客

Linux历史记录,输出重定向等命令

其他杂项命令


常用命令


1.历史记录

  • history[选项][历史命令保存文件]
    history用于查看当前登录用户的操作历史记录,文件在 ~ 下的 .bash_history
    • -c: 清空历史命令
    • -w: 把缓存中的历史命令写入到 .bash_history文件中
      • 例子1
        history -w /home/zhangxu/myhistory
        将历史记录写入指定文件中
      • 例子2
        history -w
        将历史记录写入默认文件中(.bash_history)
  • 修改历史记录默认条数
    历史记录的默认条数在linux的环境变量配置文件 /etc/profile 中 HISTSIZE=1000,默认是1000条
  • 历史命令的调用
    • 使用上、下箭头调用以前的历史命令
    • 使用 !n 重复执行第n条历史领命
    • 使用 !! 重复执行上一条命令
    • 使用 !字符串 重复执行最后一条以该字符串开头的命令

2.别名

  • 命令执行优先级
    1.用绝对路径或相对路径执行的命令
    2.使用别名执行的命令
    3.执行bash内部命令
    4.按照$PATH环境变量定义的目录查找顺序找到的第一个命令
  • 添加和修改临时别名
    • 使用 alias命令添加别名
      • alias vi=’vim’
    • 使用 unalias 删除别名
      • unalias vi

用这种方式添加的别名,下次登陆后就不存在了,属于临时别名

  • 让别名永久生效
    • 编辑 ~/.bashrc 文件,添加别名,使别名永久生效

3.快捷键

  • bash常用快捷键
快捷键 作用
CTRL+A 将光标移动到命令行开头
CTRL+E 将光标移动到命令行结尾
CTRL+C 强行终止当前命令
CTRL+L 清屏,相当于clear
CTRL+U 删除或剪切光标之前的命令
CTRL+K 删除或剪切光标之后的命令
CTRL+Y 粘贴CTRL+U或者CTRL+K剪切的内容
CTRL+R 在历史命令中搜索
CTRL+D 退出当前终端
CTRL+Z 暂停,并放入后台
CTRL+S 暂停屏幕输出
CTRL+Q 恢复屏幕输出

4.输出重定向

  • 标准输入输出
设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/sdtout 1 标准输出
显示器 /dev/sdterr 2 标准输出错误
  • 输出重定向1
类型 符号 作用
标准输出重定向 命令 > 文件 覆盖的方式,把命令正确输出到指定的文件或设备中
命令 >> 文件 追加的方式,把命令正确输出到指定的文件或设备中
标准错误输出重定向 错误命令 2>文件 覆盖的方式,把命令错误输出到指定的文件或设备中
错误命令 2>>文件 追加的方式,把命令错误输出到指定的文件或设备中

  • 输出重定向2
符号 作用
命令 > 文件 2>&1 覆盖的方式,把正确输出和错误输出都保存到同一个文件中
命令 >> 文件 2>&1 追加的方式,把正确输出和错误输出都保存到同一个文件中
命令 &> 文件 覆盖的方式,把正确输出和错误输出都保存到同一个文件中
命令 &>> 文件 追加的方式,把正确输出和错误输出都保存到同一个文件中
命令>>文件1 2>>文件2 追加的方式,把正确输出保存到文件1中,错误输出保存到文件2中
  • 输出重定向3
    特殊用法:ls &>/dev/null
    不保存输出结果,将输出结果丢入垃圾箱

5.输入重定向

  • wc[选项][文件名]
    • -c 统计字节数
    • -w 统计单词数
    • -l 统计行数
  • 例子:
    输入:wc < a.txt
    输出:1(行数) 2(单词数) 4(字节数)
  • 特殊用法
    • 统计某个文件夹下有多少文件
      ls 文件夹名 |wc -w

6.多命令顺序执行

多命令执行符 格式 作用
; 命令1;命令2 多个命令顺序执行,命令之间没有 任何逻辑联系
&& 命令1&&命令2 逻辑与;当命令1正确执行,命令2才会执行;当命令1执行不正确,命令2不会执行
\ \ 命令1 \ \ 命令2 逻辑或;当命令1执行不正确,则执行命令2;当命令1执行正确,命令2不执行
  • 硬盘数据复制
    • dd if=输入文件 of=输出文件 bs=字节数 count=个数
    • 选项
      • if=输入文件 指定源文件或源设备
      • of=输出文件 指定目标文件或目标设备
      • bs=字节数 指定一次输入/输出多少字节,即把这些字节看作一个数据块
      • count=个数 指定输入/输出多少个数据块

例子:date;dd if=/dev/zero of=/root/testfile bs=1k count=100000;date;

7.管道符

  • 命令1 | 命令2
    命令1的正确输出作为命令2的操作对象
  • 例子
    • ll -a /etc/ | more
    • netstat -an|grep “ESTABLISHED”

8.grep命令

  • grep[选项]”搜索内容” 文件名
    • 选项
      • -i:忽略大小写
      • -n:输出行号
      • -v:反向查找
      • –color=auto 搜索出的关键字用颜色显示
  • 例子
    • grep -n –color=auto “phone” readme.txt

9.通配符

通配符 作用
匹配一个任意字符
* 匹配0个或任意多个字符,也就是匹配任何内容
[] 匹配括号中任意字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-] 匹配括号中任意一个字符。代表一个范围。例如:[a-z]代表匹配26个英文字母中任意一个小写字母
[^] 逻辑非,表示匹配不是括号内的一个字符。例如代[ ^0-9 ]表匹配一个不是数字的字符

10.进程

  • 查看进程
    • ps -ef
      查看所有进程
    • ps -aux
      查看正在运行的进程
  • 杀死进程
    • kill -9 进程id

11.重启系统

  • 关机

    • poweroff
    • shutdown -h now
    • init 0
  • 重启

    • reboot
    • init 6
  • 设置系统启动方式

    • vi /etc/inittab
    1
    id:3:initdefault:

    3 是以字符界面启动
    5 是以图形化界面启动

12.磁盘操作

  • 显示系统的磁盘空间用量
    • df -h //显示磁盘分区信息
    • mkfs.ext4 /dev/sdb1 //格式化具体磁盘分区
    • fdisk -l //查看磁盘分区
    • fdisk /dev/sdb1 //查看具体的磁盘信息
    • du -h -s 目录 //查看目录使用大小
  • 挂载
    • mount -t vfat /dev/sdb1 /media/umnt //挂载
    • mount -o remount rw / //重新挂载,或者将根目录以读写方式重新加载
    • umount /media/umnt //卸载
  • 文件系统修复
    • fsck -y /dev/sda1 (修复的可以是分区也可以是目录,最好在单用户模式下使用)

13.用户和组的操作

  • 账户
    • 超级账户 root uid=0
    • 普通账户 uid>=500
    • 系统账户 uid=1~499
    • /etc/passwd 保存账户的信息
    • /etc/shadow 保存账户密码信息
    • /root root家目录
    • /home/xxx 普通用户 xxx 的家目录
  • 添加和删除用户
    • useradd 用户名 //创建用户
      • -u 指定uid
      • -d 指定宿主目录
      • -s 指定使用shell
      • -e 指定用户过期时间
      • -g 指定基本组
      • -G 指定附加组
    • userdel 用户名 //删除用户,不删除用户目录
      • -r 连用户目录一起删除
  • 用户组操作
    • gpasswd -a tom jerry //将tom添加到jerry组
    • gpasswd -d tom jerry //将tom移出jerry组
    • groups tom //查看tom在哪个组
  • 修改用户密码
    • passwd 用户名
  • 修改用户权限
    • usermod -L 用户名 //锁定用户,禁止登录
    • usermod -U 用户名 ///解锁用户
  • 切换用户
    • su 用户名 //切换到指定用户
如果我的文章对您有所帮助,不妨打赏一杯豆浆以资鼓励(○` 3′○)