目录
一.基础概念与入门
1.Linux操作系统简介
2.终端与shell的基本概念
3.命令行界面的优势
二.基础指令
1.whoami
2.useradd/userdel/passwd
3.pwd
4.ls
5.cd
6.touch
7.mkdir
8.tree
9.rmdir/rm
10.man
11.cp
12.mv
13.cat
14.less
15.head/tail
16.date
17.cal
18.find
19.which
20.whereis
21.alias
22.grep
23.zip/unzip
24.rzsz
25.tar
26.uname -r
三.总结
一.基础概念与入门
1.Linux操作系统简介
Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
这里我们用来学习的Linux环境为Centos版本,并将其部署在云服务器上,用xshell进行远程访问。
2.终端与shell的基本概念
终端:用户与系统交互的入口
Shell(外壳程序):操作系统的“命令翻译官”
这里的bash则是shell的一种,为命令行文件
3.命令行界面的优势
终端中命令行替代了图形化界面操作,其效率更高,资源占用低,易于控制且具有强大的工具生态在Linux系统中广泛使用。
在windows系统中也可以打开终端,并执行命令行操作
二.基础指令
1.whoami
Linux是一款多用户的操作系统,该命令通常用于自身系统身份验证,即我们是以哪种身份登录Linux系统。
whoami
2.useradd/userdel/passwd
由于Linux系统是一款多用户系统,我们可以删除或添加新用户,并为其设置密码。
useradd username # 添加新用户
passwd username # 为用户设置密码
userdel -r username # 删除普通用户
3.pwd
pwd # 查看当前工作路径
无论是Linux还是windows,我们登陆成功,都会处在一个默认路径下。
4.ls
ls dirname # 对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。
ls filename # 对于⽂件,将列出⽂件名以及其他信息。
常用选项:
ls -a dirname #列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件
ls -l filename #列出⽂件的详细信息
ls -al name #选项可以合并使用
5.cd
Linux理论知识:路径的认识
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
其中普通文件一定是目录树的叶子节点
目录可能是叶子(空目录), 也可能是路上节点
理解路径存在的意义: 树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性
绝对路径:一般从/开始,不依赖其他目录的定位文件的方式
相对路径:相对于当前用户所处目录,定位文件的路径方式
绝对路径一般不会随着用户的路径变化而丧失唯一性,一般在特定服务的配置文件中经常被使用,相对路径因为它的便捷性,一般在命令行中使用较多
cd pathname # 改变⼯作⽬录。将当前⼯作⽬录改变到指定的路径下
由于Linux系统中标识文件唯一性是通过路径标识的,所以我们可以通过两种路径路径来来达到同一目录:
cd - # 回退到最近一次所处的目录
cd ~ # 直接回退到家目录即一开始登录所处的默认路径
6.touch
touch filename # 新建⼀个普通⽂件
7.mkdir
mkdir dirname # 在当前⽬录下创建⼀个名为 “dirname”的⽬录
常用选项:
mkdir -p a/b/c/d # 创建一串路径
8.tree
安装:
yum install -y tree # root用户
sudo yum install -y tree # 普通用户
tree name # 递归以树状结构显⽰指定⽬录
9.rmdir/rm
rmdir dirname # 与mkdir对应,删除一个空目录
rm name # 删除文件或目录
常用选项:
rm -r name # 递归删除目录及其所有文件
rm -f name # 直接删除不询问
10.man
man [章节] 命令 # 在手册中查找指定章节的命令
常用章节:
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
11.cp
Linux理论知识:Linux系统下一切皆“文件”
理论具象化实践:
1.输出重定向
echo "hello world" # echo命令为向文件写入内容
那么我们也可以让输出结果重定向,写入其他文件中:
我们也可以用输出重定向来清空文件:
2.输入重定向
cp src dst # ⽤于复制⽂件或⽬录,将src复制dst目录中
常用选项:
cp -r dst src # 递归复制目录到指定路径中
12.mv
mv src dst # 移动文件或将文件改名
13.cat
cat filename # 查看目标文件的内容
常用选项:
cat -b filename # 对非空行输出行编号
cat -n filename # 对输出的所有行编号
cat -s filename # 不输出多行空行
14.less
less filename # 对于大量内容文件适用,可以前后翻看文件内容,不会出现刷屏
常用选项:
/字符串 # 向下搜索字符串功能
n # 显示下一个搜索
15.head/tail
head [参数] filename # head⽤来显⽰档案的开头⾄标准输出中# 默认head命令打印其相应⽂件的开头10⾏# [参数]为显示的行数
tail [必要参数] filename # ⽤于显⽰指定⽂件末尾内容
如果要查看temp文件的2001到2010行,我们可以使用head/tail命令,并用管道起到连接资源的作用:
16.date
date # 显示常规时间
date +%Y/%m/%d-%H:%M:%S # 指定格式显示时间
date +%s # 显示时间戳# 时间戳是以1970年1月1日00:00:00 UTC为起点,计算经过的秒数
17.cal
cal [参数] [年份] # ⽤于查看⽇历等时间信息
18.find
find pathname -options filename # 在指定路径下查找文件
常用选项:
find pathname -name filename # 根据文件名查找文件
find本质是去目录树中进行递归查找
19.which
which [命令] # 搜索系统指定的命令
但并不建议将我们写的命令放在系统路径下,可能会对命令池造成污染
20.whereis
whereis file # ⽤于找到程序的源、⼆进制⽂件或⼿册
21.alias
alias hello='ls -a -l' # 设置命令的别名
另外,别名属于内存级数据,重新登陆则会重置
22.grep
grep [选项] [字符串] filename # 在⽂件中搜索字符串,将找到的⾏打印出来
常用选项:
grep -i "abcd" test.txt # 忽略大小写
grep -n "abcd" test.txt # 输出行号
grep -v "abcd" test.txt # 反向对内容进行过滤
23.zip/unzip
zip 压缩⽂件.zip ⽬录或⽂件 # 将⽬录或⽂件压缩成zip格式
常用选项:
zip -r cmd2.zip commonorder2 # 递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理
unzip 目录或文件 # 解压.zip文件
常用选项:
unzip .zip -d pathname # 将.zip文件解压至指定路径
24.rzsz
安装:
sudo yum install -y lrzsz
rzsz命令可实现Linux与windows互传文件:
rz # 实现Linux接收windows系统的文件
sz 目录或文件 # 实现Linux向windows传输文件
25.tar
常用选项:
tar -czf target.tgz target # 将目录或文件压缩为.tgz
tar -xzf target.tgz # 将.tgz解压
tar -xzf target.tgz -C pathname # 将.tgz解压到指定路径
26.uname -r
uname -r # uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息
三.总结
本期我们初步认识并学习了26个基础指令,对Linux系统有了一个初步的体系认识,下一篇将学习Linux的权限是如何体现并作用的,同时也将深入学习关于权限的更多指令与内容。