前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux入门篇 —— 超实用 Linux 常用命令

Linux入门篇 —— 超实用 Linux 常用命令

原创
作者头像
ruochen
修改2021-02-02 11:38:37
7980
修改2021-02-02 11:38:37
举报

Shell 详解

Shell 简介


  • Linux精髓在于命令行操作
  • Shell是一种特殊的程序
  • 是内核与用户的一种接口
  • Shell命令解释器
  • Shell一种解释性的语言(内部命令/外部命令) - 内部命令:系统自带的,随系统内核一起启动(56) - 外部命令:一些额外的软件或者程序
  • sh (Borurne Shell)
  • csh
  • ksh
  • BASH: 是rhel中默认的一种
  • shell命令规范 - 命令字 选项 - 选项 - 作用:用于调节命令的具体功能 - "-" 引导短格式选项(单个字符)ex: "-l" - "--" 引导长格式选项(多个字符) ex: "--color" - 多个短格式选项可以写在一起 - -a -l -z -x --> -alzx - 参数 - 命令操作的对象 - 有文件、目录等 - ex: ls -l /home

在Liunx当中严格区分大小写 在Linux当中一切皆文本

常用命令


  • su - username 切换当前登陆 - 有 - : 代表切换bash - 无 - : 代表不切换bash
  • exit:退出
  • 查看系统当前主机名 - hostname
  • 修改主机名并生效 - hostnamectl set-hostname yourhostname
  • 关机操作 - poweroff - init 0 - shutdown -h now - halt
  • 重启命令 - reboot - shutdown -r now # 现在重启 - shutdown -r now # 15分钟后重启
  • 查看当前系统时间 - date
  • 查看日历 - cal - cal 年份 # 查看全年日历 - cal 月份 年份 # 查看某年某月的日历
  • 查看系统当前IP地址 - ifconfig - ip addr show (rhel7)
  • 测试网络连通性 - ping 127.0.0.1 - ping 127.0.0.1 -c 4 # 限制ping包次数

BASH 常用快捷方式


  • 中断当前操作 - CTRL + c
  • 清屏 - CTRL + l = clear
  • 换行 - \
  • 光标跳到行首 - CTRL + a
  • 光标跳到行尾 - CTRL + e
  • 清空到光标所在位置的前面所有内容 - CTRL + u
  • 清空到光标所在位置的后面所有内容 - CTRL + k
  • 查看历史命令 (默认保留1000行) - history
  • 调用历史命令 - !n (ex: !22)
  • 清空历史命令 - history -c
  • 字体放大 - CTRL + SHIFT + +
  • 字体缩小 - CTRL + -

Linux 目录结构


  • boot:存放系统引导文件和内核文件
  • bin:存放可执行文件(二进制文件)(ls,cat,mkdir)
  • sbin:root用户执行命令
  • home:普通用户的家目录
  • root:root用户的家目录
  • dev:放置所有设备文件(外设 u盘、磁盘、光驱)/dev/md* /dev/sd* /dev/hd*
  • etc: 放置所有配置文件(服务)
  • lib/lib64:动态链接库文件(共享库) 类似于 .dll
  • media:媒体库文件
  • opt:文件安装目录,安装软件就在opt目录下
  • mnt:挂载点目录 mount * *
  • var: 存放一些需要改变数据的文件 日志,某些大文件的溢出区
  • proc:虚拟文件系统目录,放的是内存的一个映射 - cat /proc/cpuinfo # 查看CPU运行状态 - cat /proc/meminfo # 参看内存运行状态 - cat /proc/version # 查看系统版本 - uname -m # 查看CPU架构 - uname -r # 查看内核版本
  • usr: 最大的目录 只要用到的目录或者文件都在这儿 /usr/sbin  /usr/doclinux
  • tmp: 共享文件夹,临时目录
  • lost+found:平时为空,只有系统在非正常关机时才会有,保存意外掉电内存数据

Linux中,如何获得命令帮助 help (内部命令) cd,kill 56条

代码语言:txt
复制
- ex:help cd--help (适用于大多数外部命令查找) ls
		- ls --help使用man手册进行命令查看(man:命令阅读手册)
		- “男人没有什么搞不定的”
		- man 命令字
		- 上下键滚动文本
		- Page down & Page Up 上下翻页
		- 空格也支持翻页,回车键走一行
		- 输入 / ,可以查找info 也可进行命令帮助查找(使用与man接近)pinfo 命令字 以浏览器的形式查看详细的GUN信息/usr/share/doc  # 所有已安装软件的说明文件
		- firefox file:///usr/share/doc

Linux 常用命令

目录操作命名


  • cd命令: 切换工作目录 - cd 目录位置 - 绝对路径: cd /home/ruochen - 相对路径: - cd . 切换到当前目录 - cd .. 返回到上一级目录 - cd - 返回上一次所在的工作路径 - cd ../../ 返回到上一级目录的上一级目录 - cd ~ 返回到用户的家目录
  • pwd: 查看当前所在的工作目录
  • ls: 列出当前目录下的文件或者目录在Liunx中,以.开头的文件是隐藏文件
代码语言:txt
复制
- 格式: ls [选项] [目录或文件名]
- 选项:
	- -l 以长格式显示
	- -a 显示所有文件目录信息,包括隐藏文件
	- -d 显示目录本身的属性
	- -h 显示详情信息,变换了统计单位
	- --color 以颜色区分不同类型的文件
	- ll == ls -lmkdir: 创建一个新目录
		- 格式: mkdir 选项-p 目录名
		- -p: 递归创建多级目录
		- mkdir -p b/c/e/f/grmdir: 删除一个空目录
		- -p: 递归删除

文件操作命令


  • touch,cp,mv,rm,find
  • touch: 创建一个空文件,更新文件时间标记 - 格式: touch filename >在Linux中,不以后缀区分文件
  • echo: 打印某个东西 - 重定向写 - echo "hello world" > a.txt
  • cp: 复制文件或者目录 - 格式: cp 选项 源文件/目录 目标文件/目录 - -r: 递归复制整个目录树 - cp /root/aa/a.txt /root/bb - cp ../aa/a.txt .
  • rm: 删除文件或目录rm -rf * 从删库到跑路
代码语言:txt
复制
- 格式: rm [选项] 文件或者目录
- -r: 递归删除整个目录树
- -f: 强制删除不给任何提示
  • mv:移动文件或者目录 - 格式: mv 选项 源文件/目录 目标文件/目录 - mv text/b.txt text-2/ - 注: 若移动目标位置与原位置相同(当前下操作),则此操作相当于重命名 - mv text text-1
  • find: 用于查找文件或者目录 - 格式: find 查找范围undefined - 查找条件 - -name: 按文件名查找
代码语言:txt
复制
			[root@localhost ~]# find / -name initial-setup-ks.cfg
代码语言:txt
复制
			/root/initial-setup-ks.cfg
代码语言:txt
复制
			[root@localhost ~]# find / -name initial-*
代码语言:txt
复制
			/root/initial-setup-ks.cfg
代码语言:txt
复制
			[root@localhost ~]# find / -name initial-*-*
代码语言:txt
复制
			/root/initial-setup-ks.cfg
代码语言:txt
复制
			[root@localhost ~]# 
代码语言:txt
复制
	-  -type:  按文件类型查找 
		-  f: 普通文件
		-  d: 目录
		-  b: 块设备文件
		-  c: 字符设备文件
代码语言:txt
复制
				[root@localhost ~]# find / -name text -type d
代码语言:txt
复制
	-  -user: 按文件属主查找(这个文件是谁的)
代码语言:txt
复制
			[root@localhost ~]# find / -user ruochen -name initial-setup-ks.cfg -type f
代码语言:txt
复制
			[root@localhost ~]# find / -user ruochen -type f -name ruochen.initial-setup-ks.cfg 
代码语言:txt
复制
	-  -size: 按文件大小进行查找
代码语言:txt
复制
			[root@localhost ~]# find /var/ -size +10k -type f
代码语言:txt
复制
			[root@localhost ~]# find /var/ -size -1k -type f
代码语言:txt
复制
			[root@localhost ~]# find /var/ -size +10k -size -11k -type f
代码语言:txt
复制
	-  -a: 逻辑与
	-  -o: 逻辑或
代码语言:txt
复制
			[root@localhost ~]# find / -name anaconda-ks.cfg -o -name initial-setup-ks.cfg 
代码语言:txt
复制
			/root/anaconda-ks.cfg
代码语言:txt
复制
			/root/initial-setup-ks.cfg
代码语言:txt
复制
	-  !: 逻辑非
代码语言:txt
复制
			[root@localhost ~]# find / ! -name temp -type f
  • alias 别名; 为使用频率较高的命令设置简短的调用名称 - 查看当前用户所有别名 alias 别名 - 设置别名 alias 别名="实际执行的命令"
代码语言:txt
复制
		grep -c 'boot' initial-setup-ks.cfg 
代码语言:txt
复制
		7
代码语言:txt
复制
		[root@localhost ~]# alias aa="grep -c 'boot' initial-setup-ks.cfg "
代码语言:txt
复制
		[root@localhost ~]# alias aa
代码语言:txt
复制
		alias aa='grep -c '\''boot'\'' initial-setup-ks.cfg '
代码语言:txt
复制
		[root@localhost ~]# aa
代码语言:txt
复制
		7
代码语言:txt
复制
- 取消别名: unalias [别名/-a]
	- -a: 取消所有别名
	
代码语言:txt
复制
			[root@localhost ~]# unalias aa
代码语言:txt
复制
- 让别名永久生效
	- 将别名设置在~/.bashrc文件中
	- vim .bashrc

cd cd. cd.. 针对目录来说 . 当前位置/目录 pwd 针对文件来讲 . 在Linux中代表隐藏文件

cd | cd. | cd ..

  • | - | - 什么都不跟,代表切换到当前用户家目录 | 当前目录 | 代表切换到上级目录

~ 代表用户家目录上次所操作的目录

文件内容操作命令


  • cat,less,head,tail,grep,wc
  • cat: 文件内容查看,显示出文件的全部内容 - 格式: cat filename
  • less(more): 全屏方式分页显示文件内容 - 格式: less/more filename - 按回车Enter逐行滚动 - 按空格键向下翻页 - 按b键向上翻页 - 按q键退出 - more用法与less一致,只是多了一个百分比显示
  • head(头部): 显示文件头部若干行,默认10行 - 格式: head 选项 filename
代码语言:txt
复制
		[root@localhost ~]# head -n 5 initial-setup-ks.cfg 
  • tail(尾部): 显示文件尾部若干行,默认10行 - 格式: tail 选项 filename
代码语言:txt
复制
		[root@localhost ~]# tail -n 5 initial-setup-ks.cfg 
  • wc: 统计文件内容的,默认情况下统计结果为: 行数 词数 字节数 - 格式: wc 选项 filename
代码语言:txt
复制
		[root@localhost ~]# wc initial-setup-ks.cfg 

- 选项: - -w: 统计字数 一个字被定义为由空白,跳格(制表符),换行以这些为分割字符串 - -l: 行数 - -c: 字节数 - -m: 字符数 -m -c不能一起使用 - -L: 打印最长行的长度

代码语言:txt
复制
			[root@localhost ~]# wc -l -c -w -L initial-setup-ks.cfg 
  • grep: 在文件中查找并显示包含指定字符串的行 - 格式: grep 选项 查找条件 目标文件 - 选项: - -c: 显示匹配行的数量 - -i: 查找时不区分大小写 - -v: 反转查找
代码语言:txt
复制
			[root@localhost ~]# grep -c 'boot' initial-setup-ks.cfg 
代码语言:txt
复制
			7
代码语言:txt
复制
			[root@localhost ~]# grep -c -v 'boot' initial-setup-ks.cfg
代码语言:txt
复制
			42
代码语言:txt
复制
			[root@localhost ~]# grep -i 'agent' initial-setup-ks.cfg 
代码语言:txt
复制
- 查找条件设置:
	1. 查找条件用引号引起来
	2. "^...": 表示以... 开头
	3. "...$": 表示以... 结尾
	4. "^$": 匹配空行
代码语言:txt
复制
			[root@localhost ~]# grep -c '^$' anaconda-ks.cfg 
代码语言:txt
复制
			[root@localhost ~]# grep -cv '^$' anaconda-ks.cfg 
代码语言:txt
复制
			[root@localhost ~]# grep -c '^#' anaconda-ks.cfg 
代码语言:txt
复制
			12
代码语言:txt
复制
			[root@localhost ~]# grep -c 'ation$' anaconda-ks.cfg 
代码语言:txt
复制
			5

归档及压缩命令


  • tar: 压缩与解压缩 制作归档文件和释放归档文件 - 格式: - 制作归档文件 tar 选项/归档文件名 原文件/目录 - 释放归档文件 tar 选项 归档文件 -C 目标文件 - 命令: - 压缩: - tar -czvf 存放路径归档文件名.tar.gz 原文件/目录 - tar -cjvf 存放路径归档文件名.tar.bz2 原文件/目录 - -c 压缩 - -z 压缩为.gz 格式 - vf 显示详情信息 - -j 压缩为.bz2格式 - 解压缩: - tar -xzvf 存放路径归档文件名.tar.gz -C 解压目录 - tar -xjvf 存放路径归档文件名.tar.bz2 -C 解压目录 - -x 解压
代码语言:txt
复制
				tar -czvf text.tar.gz text
代码语言:txt
复制
				tar -cjvf text.tar.bz2 text
代码语言:txt
复制
				tar -czvf /root/var.tar.gz /var/
代码语言:txt
复制
				tar -cjvf /root/var.tar.bz2 /var/
代码语言:txt
复制
				tar -czvf a.tar.gz text-1 text-2
代码语言:txt
复制
				[root@localhost ~]# tar -xzvf text.tar.gz 
代码语言:txt
复制
				[root@localhost ~]# tar -xjvf text.tar.bz2 
代码语言:txt
复制
				[root@localhost ~]# tar -xjvf text.tar.bz2 -C test

.gz格式

.bz2格式

.bz2格式压缩率比.gz格式压缩率高

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Shell 详解
    • Shell 简介
      • 常用命令
        • BASH 常用快捷方式
          • Linux 目录结构
            • Linux 常用命令
              • 目录操作命名
              • 文件操作命令
              • 文件内容操作命令
              • 归档及压缩命令
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档