命令行、目录结构、文件类型、获取帮助、管道重定向

命令行

敲命令的格式:
命令 参数
命令 -选项 参数
命令 -a -b -c -d 参数
命令 -abcd 参数
查看别名:alias 如:输入alias可以看到 ll=ls -l 的详细说明
基本命令的使用:
查看文件:ls
查看当前路径:pwd
查看时间:date
查看日历:cal 查看2019:cal 2019 查看2019年10月:cal 10 2019
图形化切换命令行(doc)模式:init1 init3 或 ctrl+ait+1~6 来回切换
计算器:bc
查看登陆用户:who am i ,查看图形化和命令行详细登陆情况:w
清屏:clear或ctrl+l
查看文件总大小:du -sh 路径 如:du -sh root
命令行使用的解释器:shell 查看系统自持的解释器类型:cat /etc/shells
注释行:# 以#开始的内容 都不会被执行
自动补齐代码:tab键
查看历史命令:history ,!序号 可快速使用该命令 如!22
删除历史命令:history -c
上下键:快速查看上一条命令
快速引用上一个命令的最后一部分:esc . (先按esc 松手后按 . 即可)
bash的基本特性:引用
强引用:’’
弱引用:""
命令引用:`` (1左边那个)
bash基础特性:快捷键
ESC+.:快速引用上一句的最后一句代码
Ctrl+a:跳转至命令行行首
Ctrl+e:跳转至命令行行尾
Ctrl+u:删除光标所在处之前的所有字符
Ctrl+k:删除光标所在处之后的所有字符
Ctrl+l:清屏,相当于clear
Ctrl+b:退格,将光标往回移动一个位置
Ctrl+c:中断,中介一个前台作业
Ctrl+d:从shell中退出或登出该对话,作用类似于exit。
Ctrl+f:将光标向前移动一个字符(在命令行下)
Ctrl+h:删除一个字符
Ctrl+l:跳纸,换页,清屏
Ctrl+m:回车
Ctrl+shift+ +:字体变大
Ctrl+shift+ -:字体变小
root管理员最大:大到能把自己毁灭 所以root下命令慎用
切换到管理员:su - / su 区别 带- 是改变环境变量 pwd可查看
很多命令只有root用户有权限执行,如mount(挂载)命令,加入一台服务器上有某员工的tom普通用户,现在想执行mount命令,但root密码又不方便让tom知道,所以现在需要给tom执行mount命令的权限,步骤如下:
1、先在tom下执行which mount命令 查看mount命令所在路径
在这里插入图片描述
2、方法一:在root模式下执行gedit /etc/sudoers (需在图形化界面) 添加权限即可
在这里插入图片描述
上图是添加一个命令且需要密码验证的方法,下面说明一下不需要密码验证且添加多个命令的方法,加一个’NOPASSWD: ’ 多条命令用 ’ , ’ 隔开,如图:
在这里插入图片描述
方法二:在root模式下执行: gedit /etc/sudoers.d/tom ,意思是 在该目录下创建一个tom文档,直接在tom文档编辑即可,写入方法和方法一相同 实现效果一样,只是写入命令的地方不同而已 如图:
在这里插入图片描述
没有赋予权限前普通用户使用mount命令:
在这里插入图片描述
赋予权限后使用sudu 使用mount命令即可:
在这里插入图片描述

目录结构

目录介绍:
/ :根目录,顶层
/usr/bin:存放常见命令
/boot:存放整个和系统启动有关的东西,如内核参数内核模块等,boot可以单独划分一个区,也可以不用单独划分一个区但不能存在lvm(逻辑卷)中;
/dev:硬盘存放处
/etc:存放各种配置文件,参数文档等
/home:用来存储用户家目录的,并不是家目录,可单独划分分区
/usr/lib:存放各种模块信息
/lib64:也是存放各种模块信息的
/media:介质 用来挂载镜像之类的(可删除)
/mnt:挂载设备目录(可删除)
/opt:rbm默认安装点(可删除)
/proc:当前运行内核参数存放处 ,修改内核参数到此目录修改
/root:仅管理员可用 其他用户无法查看或编辑
/run:光盘自动挂载点(了解一下即可)
/usr/sbin:存放可执行命令,和bin大致相同
/srv:特殊目录 一般不会使用, 如配置openstack底层存储需要用到
/sys:存放硬件信息,更改硬盘和cpu设置等,查看cpu:cd /sys/devices/system/cpu
/tmp:存储临时文件
/usr:软件安装存放处,可单独划分分区
/var:数据库和日志文件,可单独划分分区

路径:
绝对路径:从/开始算,一个完整的路径,比如:ls /usr/share/doc/pam-1.1.1.8/txts/
想对路径:. 表示当前路径, … 表示上一次路径
cd 路径 可以是:想对路径 也可以是绝对路径
想对路径:cd … 返回上一层目录
绝对路径:cd /etc/sysconfig/network-scripts
特殊用法:cd /etc , cd sysconfig , cd network-scripts
无论在任何目录里,敲:cd或cd~ 都可以直接进入到当前用户的家目录
注意: ls ~tom/ 是查看tom家目录的意思,ls ~/tom 是查看当前用户下tom目录或文件

文件类型
文件类型:目录(d)、文件(-)、字符设备©、块设备文件(b)、链接文件(l)、套接字文件(s)、管道文件§
目录:能用 $ cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]
块设备文件 :就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]
字符设备:字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]
套接字文件:这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型
管道文件:FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]
链接文件:类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]
在这里插入图片描述
ls –l 显示出来的文件列表:
在这里插入图片描述
1、文件类型
2、文件权限
3、指向给文件的硬链接数量
4、文件所有者
5、文件所属组
6、文件字节大小
7、上次修改的时间:[Dec 27 11:56]=[12月 27号 11点56分]
8、文件或目录名称

常见命令

对文件的常见操作:
文件 file
很多时候文件和后缀是没有关系的。
stat:查看文档详细信息
在这里插入图片描述
touch:文件创建和更新时间,如果目录不存在 则创建目录,如果目录存在,则更新时间。
在这里插入图片描述
rm:删除命令
-r 递归删除文件,-f 不提示 直接删除
wc:字符统计
-l 查看行数, -w 查看单词,-c 查看大小
在这里插入图片描述
2:代表2行
10:代表10个单词
158:大小
ln:创建连接(软连接和硬连接),软连接:表示快捷方式
ln -s 文件名 新文件名
在这里插入图片描述
cat:查看命令,只能查看文本文件,不能查看二进制
-n 显示行号,-A 显示全部(报告换行符)
cat 路径/文件名
在这里插入图片描述
more:查看命令,滚动式查看(只能往下),回车下滑一行,空格下滑一页,q退出查看模式
less:查看命令,重复滚动式查看(可以往上可以往下)n下滑一页,N上翻一页,搜索关键词:直接输入关键词回车即可,q退出
head:默认查看前10行,也可以自定义查看行数 比如查看前5行:head -n 5 路径(查看当前文件可不输路径,直接head -n 5 即可)
tail:默认查看后10行,也可以自定义查看行数,比如查看后10行:tail -n 5 路径(查看当前文件可不输路径,直接tail -n 5即可),另一种使用方法:如查看第35行到最后一行:tail -n +35 路径
-f 动态查询(如查看日志,tail -f 路径,查看最后10行 但并不会结束,如果有更新 会显示更新后的最后10行内容)

目录/文件夹:
mkdir:创建文件夹
-p 创建父目录
在这里插入图片描述
rm:删除 如果a目录中有b文件 是无法直接删除的 这时候需要参数r才可以删除 或者先把b删了再删a。
-r 递归删除文件,-f 不提示 直接删除
cp:复制 ,cp 复制源文件 目标路径 ,如将etc下的services复制到opt目录下:cp /etc/services /opt/,如将etc下的services拷贝到当前路径:cp /etc/services .
另一种使用方法:cp 选项 /path1/xx /path2/yy
解释:path2/yy是一个目录–>则/path1/xx拷贝到yy里去,如果yy不存在后者是一个文件–>则把/path1/xx拷贝到path2里,重命名为yy
在这里插入图片描述
注:普通cp拷贝仅仅拷贝内容 并不拷贝属性(如时间),如要要连属性一起拷贝需要加上参数 -p , 则 cp -p … … ,需要递归拷贝(文件夹里面有内容,现拷贝文件夹),需要加上参数 -rf 如现在吧boot全部拷贝到当前目录:cd -rf /boot . , 打包参数(包含prf) -a , 如需要 复制属性和递归,则直接 cp -a … … 即可。
注意:如果吧boot文件全部拷贝到了opt目录下,现在要删除opt目录下的boot文件,一定要注意 rm -rf /boot 是删除了 根目录下的boot文件,而并非opt目录下的boot文件,所以正确使用是rm -rf boot/
在这里插入图片描述

剪切(移动)mv
mv 选项 /path1/xx /path2/yy
/path2/yy是一个目录–>/path1/xx剪切到yy里去,yy不存在或是一个文件–>把/path1/xx剪切到/path2里,重命名为yy。
重命名:mv 现文件名 新文件名
在这里插入图片描述

获取帮助

whatis 命令,命令 --help, 命令 man 或者 百度!!!
如果帮助命令报错,更新一下即可 :mandb
有问题找man,比如 查询 ls使用情况,man ls。 如果我们想用某个命令,只记得一部分,记不得前面开头,如lsblk,现在带上参数k 即可查询所有带blk的命令:man -k blk 即可。
在这里插入图片描述
date:时间显示 date [选项] [+格式]
常用参数:
在这里插入图片描述
使用:
在这里插入图片描述
更改时间:2种格式,1、不加参数 date 月日时分年。2、加参数s
则:date -s “年月日 时分秒” 。
在这里插入图片描述
把系统时间date写进bios:hwclock -w , 吧bios时间写进系统时间date:hwclock -s。
在这里插入图片描述

管道重定向

默认输出–屏幕
默认输入系统(stdin)–>键盘
有时候希望吧命令结果保存在某个文件里,而不是现实在屏幕:> —>箭头

> : 覆盖式重定向,会覆盖之前的所有内容;

>>:追加式重定向,会保留之前的所有内容,并在最后追加内容;

在这里插入图片描述
在这里插入图片描述
2>:覆盖并写入错误信息;
2>>:重定向追加错误的结果,注:只能重定向错误的结果,不能重定向正确的结果
在这里插入图片描述
按照之前的分析(了解即可) :
正确的命令 >file …能重定向成功
错误的命令 >file …不能重定向成功
但就要把错误的命令重定向过去怎办?
错误的命令 >file 2>&1 (固定格式,把错误的当成正确的执行)
错误的命令 2>file …能重定向成功
正确的命令 2>file …不能重定向成功
但就要吧正确的命令重定向过去怎么办?
正确的命令 2>file 1>&2 (固定格式,把正确的当成错误的执行)
测试:有一个命令zz,也不知道这个命令是否能成功,如果成功了,结果放在ok.txt,如果没有成功报错信息放在err.txt里。
在这里插入图片描述
进阶用法:如现在要把一个文件里的所有字符替换为大写,注意:写和读不能同时使用,否则文件就会被损坏,正确用法是,先写入一个自定义名字,然后mv重命名回原名字
在这里插入图片描述
cat <<EOF 可以打印任何你想显示的内容,输入完后以EOF结尾 ,屏幕就可以打印出你输入的内容,特别实用于脚本开头说明使用。注:EOF可以替换为任何字符,但开头和结尾必须相同:
在这里插入图片描述
grep:grep 关键字 文件 ,就是在某文件寻找带有关键字的所有内容,如寻找/etc/passwd目录下所有含有root 的内容:grep root /etc/passwd
在这里插入图片描述
参数:-n 显示行号 如:grep -n root /etc/passwd
-i 忽略大小写 如 grep -n -i root /etc/passwd
-v 反向筛选 如grep -inv root /etc/passwd (就是除root以外内容全部打印)
-A 向下3行显示 如:grep -n -A3 root /etc/passwd (显示root下面的3行)
-B 向上显示3行 如:grep -n -B3 root /etc/passwd (显示root上面的3行)
-C 向上和下各显示3行 如:grep -n -C3 root /etc/passwd (显示root上面和下面的各的3行)
注意:下图中是将/etc/passwd文件拷贝到当前目录中,所以直接passwd
在这里插入图片描述
管道 | :命令1 | 命令2 ,命令1 的结果以命令2显示,如:使用管道符筛选显示网卡ip:ifconfig eno16777728 | grep ‘inet’
在这里插入图片描述

 	进阶使用-自动获取ip:ifconfig ens160 |tee t2.txt |awk '/inet /{print $2}'   
 	说明:tee相当于>,如果不想覆盖 需要加上参数-a 则tee -a t2.txt  ,tee -a  相对于 >>

在这里插入图片描述

发布了67 篇原创文章 · 获赞 32 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/cuichongxin/article/details/103023811
今日推荐