linux学习01

一、linux命令行使用技巧
1、linux下的终端命令快捷方式(Wayland配置)
页面右击——settings——Keyboard——+
在这里插入图片描述
点击Add
完成建立
2、什么是Linux
Linux操作系统
GNU/Linux
GUN是开源组织
Linux是指Linux内核
内核
系统核心程序
相当人的大脑
负责系统程序和硬件分配及调度(优先级)
模块:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等
3、什么是shell
对外提供操作这和系统沟通接口
对内实现对内核进行保护
RHEL8中默认使用的shell是bash
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
shell行提示符的含义
shell类型
rhel8中默认使用的shell为bash
bash=GNU Bourne-Again SHell
shell打开方式
1.右键打开
2.Application---->favorites---->terminal
3.gnome-terminal
4.当shell已经开启时需要开启一个新的shell,在shell中可以用++打开
5.可以在设置中设定任意快捷键执行 gnome-terminal
shell命令行提示符
[root@localhost Desktop]#
[1] [2] [3] [4] [5]
[1]:运行shell的用户
[2]:分割符
[3]:系统主机短名称当前主机去掉域名部分的短名称
[4]:当前目录名称
[5]:身份提示符 #表示当前用户为超级用户,$当前用户为普通用户
shell中的快捷键
1.shell中的快捷键使用
++ ##在一个terminal中开启多个窗口
++ ##重新打开一个terminal
+ ##取消命令执行
+ ##关闭shell
++<鼠标选中>+ ##复制选中字符
++ ##粘贴
##鼠标选中为复制
##鼠标滚轮下按为粘贴
shell中如何执行命令
1)命令执行格式
命令就是程序
参数表示命令的特殊功能
对象就是操作目标

2)命令执行的方法
有些命令可以单独执行
参数可以加多个
-a -b -c = -abc = -cba = -acb
参数-s 表示单词缩写
参数–size 表示单词全拼
命令必须在行提示符之后输入否则命令无法执行
当命令行被占用通常使用+结束占用命令行的程序来释放命令行
4、命令行获得帮助
whatis rm ##查看命令的基本用途
##查看过程中出现
#rm: nothing appropriate.
#1.表示要查看内容没有帮助
#2.系统帮助数据未更新用mandb命令更新
“注意:当执行whatis命令出现 nothing appropriate 时大多数情况是因为” “系统的帮助数据库未更新,如何解决此问题,需要在root用户下执行mandb”
当你使用的用户为普通用户时请执行以下操作:
su - root
mandb

rm --help ##查看命令的基本用法
[] ##内容可加可不加
… ##内容个数任意
<> ##必须在命令执行时加入的元素

man rm ##命令用法详解 man是manual的缩写
man -k passwd ##passwd关键字有多少级别的man
##man的级别
#1 命令
#2 系统调用
#3 函数库调用
#4 特殊文件(设备文件等) #5 文件
#6 游戏
#7 特殊的包
#8 系统管理命令
#9 内核信息规则

-k ##显示关键字数据库中包含与作为最终参数给定的字符匹配的标题的字符串的每一行。 可以输入多个标题,中间用空格隔开。 要使用 -k 标志,root 用户必须以前已输入 catman -w 以建立 /usr/share/man/whatis 文件。

我们输入“man ls”,在屏幕的左上角会显示“”,在这里“LS”表示手册名称,而“(1)”表示该手册位于第一章节。

man是按照手册的章节号的顺序进行搜索的,比如:
man sleep只会显示sleep在章节1中的信息,相当于命令“man 1 sleep”。如果想查看库函数sleep,就要输入:man 3 sleep
man rm ##进入到rm命令的帮助
q ##退出
/关键字 ##搜索关键字,n 向下匹配, N 向上匹配
G ##快速移动到man的最后
g ##表示快速移动到man的最前

5、Linux命令行历史调用
我们当前使用的shell可以记录系统中执行过的历史命令
history ##查看历史命令
history -c ##清空当前历史命令
##永久清空历史需要清空文件.bash_history
历史命令的调用
上键|下键 ##逐行调用
!数字 ##调用指定行历史
!字符 ##调用以此字符开头的最近历史
+ ##开启历史搜索模式,命令行显示会变为:
##(reverse-i-search)`’:输入关键字
##会显示含有此关键字的最近一条历史
6、TAB键
补齐系统中存在的命令,文件,和某些命令的参数
当按一次tab没有效果,表示以此字符开头的信息不唯一可连续按2次
那么会把以此字符开头的所有内容显示
如果2此仍然不显示表示没有以此字符开头的指令

二、Linux下的文件管理
1、文件管理命令
touch #新建文件,修改文件时间戳
touch file1 file2… #建立空文件
touch file #把文件时间同步到当前时间
touch -t [[CC]YY]MMDDhhmm[.ss] file#把文件时间更改到指定时间

touch -t 1803141400 test1 test2
 -t STAMP
              use [[CC]YY]MMDDhhmm[.ss] instead of current time

-t选项允许用户在使用touchcommand创建文件时添加特定的上次访问时间。

CC:年份的前两位数字
YY:年份的后两位数字
MM:月(两位数字月份)
DD:日期(两位数字的数字天,即月份的日期)
hh:小时
mm:分钟
ss:秒
[] 表示该字段是可选的
在示例中1803141400意味着:2018 mar 14, 14.00和touch将根据该值更改test1和test2文件的时间戳。
$ ls -l test1 test2
-rw-rw-r-- 1 yourUser yourGroup 0 mar 14  2018 test1
-rw-rw-r-- 1 yourUser yourGroup 0 mar 14  2018 test2

可以使用查看文件时间戳命令stat

stat test1 test2

在这里插入图片描述
说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态。
mkdir (make directory)
mkdir dir1 dir2 … ##建立空目录
mkdir -p test/redhat/linux ##建立多层目录

下载 wget http:
安装 rpm
重启 reboot

C语言编译成汇编语言,汇编语言再编译成机器语言,机器语言在硬件上运行。
rm #删除文件或者目录
rm file file1 … ##删除文件有提示(删除不了目录mkdir)
rm -f file ##强制删除文件不提示
rm -r dir dir1… ##递归删除目录及其内容
rm -rf dir
touch一个文件后不能mkdir一个同名的目录,可以先mkdir再touch

gedit #图形的文本编辑器
gedit file file1… ##编辑file file1
#gedit 在使用时必须有图形
#file file1可以不存在

vim #文本编辑器
vim file ##进入到vim的浏览模式##浏览模式不能编辑文件 ##在浏览模式中按进入插入模式
#在vim中鼠标不能控制光标用上下左右移动光标
#按退出插入模式#按:wq保存更改

vim异常退出
##当vim编写文件时在未保存更改内容被强制关闭##vim 出 现 异 常 #[O]只读打开文件
#(E)继续编辑
#®恢复未保存内容编辑
#(D)删除.swp文件进入编辑#(Q)退出当前文件编辑
#(A)推出vim程序

vim同时打开多个文集爱你
vim -o westos1 westos2 ##上下模式打开两个文件
##+ <上|下>来转换控制窗口
vim -p westos1 westos2 ##左右打开两个不同文件
##:tabn 进入到下一个窗口
##:tabp 进入到上一个窗口

cat ##显示文件的全部内容
cat file
cat -b file ##显示文件内容并显示行号,不显示空行的行号
cat -n file ##显示文件内容并显示行号

实验素材
history > westos ##把history的执行结果存放到westos中
head ##查看文件前多少行
head westos ##默认显示文件前10行
head -n westos ##n 代表数字 显示文件的前n行

tail ##查看文件的后多少
tail westos ##默认显示文件后10行
tail -n westos ##n 代表数字 显示文件的后n行

less ##分页浏览
##less westos进入到less模式查看westos
#less模式中 <上><下> 逐行查看文件内容
# 逐页查看文件内容
#/关键字子 搜索关键字 n 向下匹配 N 向上匹配
# 有less模式进入到vim 编辑完成:wq退出返回less
#在less中 退出

cp ##复制文件
##cp 文件 目的地文件
##cp 文件1 文件2 目的地目录
##cp -r 目录1 目录2
#复制原理:
#按照源文件建立新文件(抄作业)

mv ##移动文件
##mv file file1 dir
##mv dir dir1 dir
##mv file 不存在file 重命名

移动原理
#相同设备分区中的文件移动是重命名过程
#不同分区的文件移动是建立删除过程

#ls -i file查看文件节点号(相当与文件身份证号)

[af@host Desktop]$ ls -i 7
744573 7
[af@host Desktop]$ mv 7 3
[af@host Desktop]$ ls -i 3
744573 3

file ##文件类型的查看
##file westos查看westos的真实类型(有内容)

wc ##文件容量统计
##wc -l行数
##wc -m字符数
##wc -w单词数
##wc -c字节数

[af@host Desktop]$ wc 6
  67  232 1292 6
[af@host Desktop]$ wc -l 6
67 6
[af@host Desktop]$ wc -m 6
1292 6
[af@host Desktop]$ wc -w 6
232 6
[af@host Desktop]$ wc -c 6
1292 6

2.Linux中文件的寻址

1)Linux系统结构

#FHS (Filesystem Hierarchy Standard) Linux层级结构标准3
#LINUX中一切都是文件
/ #Linux顶级目录 (根目录)
rm -fr /* 此命令卡万不要在服务器上运行

#系统二级目录(系统自动建立)
/bin ##系统常规命令(二进制文件,常规命令在里面)
/sbin ##系统管理命令(超级用户)
/dev ##设备文件
/home ##普通用户家目录集合,此目录中的子目录为普通用户家目录
/root ##超级用户家目录
/lib64 ##64位函数库
/lib ##系统函数库
/proc ##进程信息,系统识别的硬件信息
/run ##当前运行的硬件和系统模块
/srv ##系统数据(常量)
/var ##系统数据(变化)
/tmp ##系统临时文件存放目录
/mnt ##临时设备挂载点
/media ##cdrom临时挂载点
/etc ##系统大多数程序的配置目录
/opt ##第三方软件安装位置
/boot ##系统启动分区,系统启动时读取的文件都在此目录中(内核,系统初始化)
/sys ##关于内核设定目录
/usr ##unix system resource 仅次于/ 重要 多数系统资源都在此目录中

相对路径:
绝对路径名称的简写,圣略了用户当前所在的系统位置 此名称只有在管理当前所在系统目录中子文件时才能使用系统中不以/开有的文件名称都为相对路径在程序操作时会自动识别当前路径的信息并关联操作目标
绝对路径 :
文件在系统中的真实位置,在任何场景下都可以使用通常以/开头,不会考虑当前系统位置
3.关于文件寻址的命令
pwd ##显示当前的工作目录
cd ##
##“cd ~-” = “cd -”

ls ##显示文件信息
##ls显示当前目录中文件的名称
#ls file显示指定文件名称
##ls dir显示指定目录中内容的名称
#ls -d dir显示目录本身的名称
#ls -l file显示文件属性
#ls -l dir显示目录中内容的属性
#ls -ld dir显示目录本身属性
#ls -a dir显示目录中所有文件名称包括隐藏文件案
#ls -s显示文件大小

[af@host Desktop]$ ls -ld test
drwxrwxr-x. 3 af af 20 Oct  7 09:00 test
[af@host Desktop]$ ls -l test
total 0
drwxrwxr-x. 3 af af 19 Oct  7 09:00 redhat
[af@host Desktop]$ ls -a test
.  ..  redhat
[af@host Desktop]$ ls -s test
total 0
0 redhat
[af@host Desktop]$ ls -R test
test:
redhat

test/redhat:
linux

#ls -R dir第归显示目录中的内容
4.文件批量处理

  • ##匹配0~任意字符
    ? ##匹配单个字符
    [[:alpha:]] ##匹配单个字母
    [[:lower:]] ##匹配单个小写字母
    [[:upper:]] ##匹配单个大写字母[
    [:digit:]] ##匹配单个数字
    [[:alnum:]] ##匹配单个数字或字母
    [[:punct:]] ##匹配单个符号
    [[:space:]] ##匹配单个空格

字符集合表示方法

[ ](1)条件是或者关系是模糊匹配,对象和几个对比匹配就操作
(2)[1-10] 1到10 ([!d-f]或 [^d-f] 除了d-f以外)
{}(1)点名机制,经精确指定集合中的每一个元素
(2){1…10} 1-10
(3){a…c} a-c
~默认代表当前用户家目录
~username指定的用户家目录
“~+” = “.”当前目录
~-当前目录之前所在目录
. .当前目录的上级目录

练习:

cp /etc/*[[:digit:]]*.conf 

在这里插入图片描述

三、Linux中的输入输出管理

1、理解什么输入输出的定义

1)字符设备
字符设备就是显示字符到屏幕上的设备文件

2)stdin
标准输入
编号为0
键盘 鼠标 打字机
ps查看进程
/proc/xxxx/fd
3)stdout
标准正确输出
标号为1 4)stderr
标准错误输出
标号为2

2 如何管理输入

外界传递到程序中的信息
1)< #输入重定向
tr ‘a-z’ ‘A-Z’ < test ##把test文件中的内容定向到tr程序中(小写转换 成大写的)

[root@host ~]# vim 00
[root@host ~]# cat 00
adf asdkfj
sadfasd
sfd asdf
fasdf
[root@host ~]# cat 00 |tr 'a-z' 'A-Z'
ADF ASDKFJ
SADFASD
SFD ASDF
FASDF

[root@host ~]# cat 'a-z' 'A-Z' 00
cat: a-z: No such file or directory
cat: A-Z: No such file or directory
adf asdkfj
sadfasd
sfd asdf
fasdf

cat 00 中00在cat进程中

2)<< 多行录入
tr ‘a-z’ ‘A-Z’ <<EOF(字符任意)
test ##此处的test不能表示为文件名称只表示test字符
test1
EOF (当首字母再次出现表示录入结束)

3 如何管理系统输出

1)输出重定向

>
2>
&>

find /etc -name passwd > westos.out ##重定向正确输出
find /etc -name passwd 2> westos.out ##重定向错误输出
find /etc -name passwd &> westos.out ##重定向所有输出

注意:重定向管理输出后会覆盖原文件内容
2)追加

>>
2>>
&>>

find /etc -name passwd >> westos.out ##追加正确输出
find /etc -name passwd 2>> westos.out ##追加错误输出
find /etc -name passwd &>> westos.out ##追加所有输出

注意:追加和重定向功能类似,但是不会覆盖原文件内容

3)管道 “|”
把前一条命令的输出变成输入传递到下一条命令进行操作
注意

管道只处理正确输出
2>&1把编号为2的输入转换到编号为1的输出中
tee 复制输出到指定位置
管道在一条命令中可以使用多次

####练习汇总#####
在普通用户下执行命令完成以下操作:
1.查找/etc/下的passwd文件屏蔽错误输出
2.查找/etc/下的passwd文件正确输出保存到/tmp目录中的westos.out中,错误输出保存到/tmp/目录中的
westos.err中
3.查找/etc/下的passwd文件保存所有输出到/tmp目录中的westos.all中并统计输入的行数
4.查找/etc/下的passwd文件统计输出行数并显示输出内容
5.转换/etc/目录中passwd文件中的所有字母为大写并统计文件行数
7.请用脚本非交互模式编写文件westos.file内容为:
hello linux
linux is nice !!
(1)

find /etc/ -name passwd 2>/dev/null

(2)

find /etc/ -name passwd >/tmp/westos.out 2>/tmp/westos.err

(3)

find /etc/ -name passwd 2>&1|tee /tmp/westos.all|wc -l

(4)

find /etc/ -name passwd 2>&1 | tee /dev/pts/0 |wc -l

(5)

tr 'a-z' 'A-Z' </etc/passwd |tee /dev/pts/0|wc -l

(7)

 vim westos.sh

在这里插入图片描述

sh westos.sh
cat westos.file
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值