linux快速入门-学习笔记
- 第一章:Linux系统概念及命令学习
- Linux系统基本概念
- 命令终端介绍
- 命令格式介绍
- Linux系统辨别目录与文件的方法
- 通过文件详细属性辨别
- ls 查看目录/文件命令
- Linux 系统下的归属关系
- 命令行编辑技巧
- Linux 基本权限的类别
- 课后练习
- 第二章:常用文件管理命令
- 1. mkdir 创建目录命令
- 2. cd 切换目录命令
- 3. 绝对路径与相对路径
- 4. pwd 打印当前所在目录
- 5. rmdir 删除空目录命令
- 6. touch 创建文件命令
- 7. cp 复制命令
- 8. mv 移动命令
- 9. cat 查看文件内容命令
- 10. less查看文件内容命令
- 11. head与tail查看文件命令
- 12. rm删除命令
第一章:Linux系统概念及命令学习
Linux系统基本概念
- 多用户系统:允许同时有很多个用户登录系统,使用系统,root用户是系统管理员,具有最高权限
- 严格区分大小写:命令、选项、文件名、目录名都严格区分大小写
- 目录结构: Linux系统采用层级目录结构,最顶层为根目录(/),其他目录都是根目录下的子目录
- 不分区扩展名:对于Linux系统而言,文件可以没有扩展名,扩展名如:.sh(脚本文件) .conf(程序配置文件) .log(日志文件) .rpm(软件包).tar(压缩包)是易于用户和程序本身方便识别
- 没有提示就是最好的提示(成功了)
- Linux系统没有回收站
命令终端介绍
例如:[root@localhost ~]#
解释:
-
root
当前登录系统用户名(root超级管理员) -
localhost
当前主机名 -
~
当前用户所在目录(~ 为家目录) ,root超级管理员家目录:/root -
#
当前用户身份是超级管理员 -
$
当前用户身份为普通用户,普通用户的家目录:/home/用户名同名
命令格式介绍
命令 [-选项]... [参数]...
解释:
-
命令
实现功能的指令 -
选项
调整命令功能的短选项:-l -a -d -h(单个字母),短选项可以合并使用:-lad
长选项:–help(单词),长选项通常是不能合并使用的
-
参数
命令的执行对象,文件/目录/程序等 -
[]
可选的 -
...
可以同时有多个
Linux系统辨别目录与文件的方法
-
蓝色表示目录(windows系统里的文件夹)
-
白色表示文本文件
-
浅蓝色表示链接文件(类似于windows系统的快捷方式)
-
绿色表示可执行文件(如脚本,命令程序文件)
-
红色表示压缩文件(压缩包需要扩展名)
-
黄色表示设备文件(硬盘、网卡、CPU、内存条等硬件设备都是以文件的形式存在的)
-
红色闪动文件——>表示链接文件不可用(需要查看文件的详细属性才可以看到)
通过文件详细属性辨别
-
-
文件 -
d
目录 -
l
链接文件 -
b
硬件设备文件 -
c 字符设备文件
-
p 管道设备文件
-
s 套接字
ls 查看目录/文件命令
ls命令(英文全拼:list):用于列出目录下内容及文件详细属性信息
命令格式:ls [-选项]... [参数]...
常用选项:
-a
显示目录下所有内容,包含隐藏的内容-l
显示文件的详细属性(文件的权限、文件的大小、时间等)-h
以kB、MB、GB单位显示文件内容大小-d
仅显示目录本身而不显示目录下的内容-R
递归查看目录下所有内容(从头到尾)-i
查看文件的inod号(文件都有一个唯一的ID号)
Linux 系统下的归属关系
在Linux系统下,文件给用户分成了三类
-
所有者u(user):文件或目录的拥有者,拥有者的权限通常是最大的
-
所属组g(group):文件或目录属于哪一个组,所属组的权限略微比所有者小
-
其他人o(other):既不是文件或目录的所有者,也不属于文件或目录组内的成员,其他人的权限通常最小的权限
ls命令示例:
#显示当前所在目录下的所有内容
ls #查看根目录下所有内容
ls /#查看/etc目录下所有内容
ls /etc#查看/bin目录下所有内容
ls /bin#查看/dev目录下所有内容
ls /dev#查看目录下所有目录和文件,包括隐藏的内容
ls -a#以长格式显示目录下所有内容,包括详细的属性信息
ls -l
-rw-------. 1 root root 1584 8月 27 16:41 hello解释
- --文件类型
1 --代表文件的引用次数
root --文件的所有者
root --文件的所属组
1584 --文件的大小,默认以字节为单位显示大小
8月 27 16:41 --文件最近一次的修改时间
hello --文件名#以长格式显示目录所有内容,以人性化的方式显示详细的属性信息
ls -l -h#短选项合并使用
ls -lh#以长格式显示目录所有内容,以人性化的方式显示详细的属性信息,包括隐藏的内容
ls -lha#以长格式显示根目录下所有内容,包括详细的属性信息
ls -l /
lrwxrwxrwx. 1 root root 7 3月 13 17:15 bin -> usr/bin
命令行编辑技巧
- 键盘上下键调出历史命令(常用)
- Ctrl + c:废弃当前命令行中的命令,取消当前执行的命令,例如ping、tail -f(常用)
- Ctrl + l,clear:清屏(常用)
- tab键自动补齐:可补齐命令、选项、文件路径、文件名称、软件名(常用)
- Ctrl + a:将当前光标移动至行首
- Ctrl + e:将当前光标移动至行尾
- Ctrl + u 清空至行首(以当前光标为起始)
- Ctrl + w 删除一个单词
- exit,logout:退出系统(并不是关机,账号退出系统)(常用)
- esc + . :将上一条命令参数变成当前命令的执行对象(常用)
Linux 基本权限的类别
-
r 读取 w 写入 x 执行 - 没有权限
-
权限顺序:rwx rwx rwx
# ls -l
-rw-r--r--. 1 root root 1831 3月 13 17:45 initial-setup-ks.cfg
#解释
-:文件类型
rw- r-- r--:所有者u、所属组g、其他人o的权限
u g or 读取权限,w写入权限,x执行权限,-没有任何权限1:代表文件的引用次数
root:文件的所有者
root:文件的所属组
1831:文件的大小,默认以字节为单位显示大小
3月 13 17:45:文件最近一次的修改时间
initial-setup-ks.cfg:文件名#查看/root目录本身详细属性信息
ls -ld /root
dr-xr-x---. 14 root root 4096 3月 14 16:38 /root#查看当前目录下所有内容的inode号
# ls -i
33574979 anaconda-ks.cfg 33574984 initial-setup-ks.cfg 33575035 模板 33575036 图片 17470701 下载 17470702 音乐
33575020 hello.txt 51909391 公共 51909392 视频 3204374 文档 33575017 新建文件夹.zip 3204373 桌面#查看hello.txt文件的inode号
ls -i hello.txt
33575020 hello.txt#查看/etc/目录本身的inode号
ls -id /etc
16777281 /etc
学习方法
- 遇到问题:前期不要求你们有排错的能力(多问)
- 思考自己能不能决绝:百度、Google、最后在问老师
- 培养主动学习,多动手,多实践,不要被动学习(学过不等于掌握)基础阶段没有捷径
- 不要死磕一个技术点,低头拉车的时候不要忘了抬头看路
课后练习
1.命令行以$作为结尾代表什么含义?
2.请写出Linux系统一般的命令格式?
3.在Linux系统下,如何辨别目录与文件的类型?
4.如何查看一个文件的详细属性?
5.如何查看一个目录本身的详细属性?
6.查看文件详细属性,并以KB、MB、GB的方式显示文件的大小?
7.如何查看一个文件的inode号?(了解即可)
8.请写出Linux下文件的三个归属关系?
9.请写出Linux下基本权限的表示方式?
10.命令行以#作为结尾代表什么含义?
第二章:常用文件管理命令
1. mkdir 创建目录命令
mkdir(英文全拼:make directory)用于创建新目录
-
命令格式:mkdir [-选项] 目录名
-
常用选项:
- -p 递归创建多个目录(在一个不存在的目录下创建子目录)
-
注意事项:
- 目录还是文件的名字,除了以“/”以外的任意名称,“/”根目录,路径分隔符
- 文件或目录的名字长度不能超过255个字符
#在当前所在目录创建test目录
mkdir test#在当前所在目录同时创建多个目录
mkdir test1 test2 test3#指定在/tmp目录下创建abc目录
mkdir /tmp/abc#在指定目录下同时创建多个目录
mkdir /tmp/abc1 /tmp/abc2 /tmp/abc3#在/opt目录下创建student,在当前目录创建student1..3
mkdir /opt/student student1 student2 student3#mkdir默认无法在一个不存在的目录下创建目录,需要通过-p选项
mkdir /opt/xx/oo
mkdir: 无法创建目录"/opt/xx/oo": 没有那个文件或目录mkdir /opt/a/b/c/d
mkdir: 无法创建目录"/opt/a/b/c/d": 没有那个文件或目录#在/opt目录下递归创建目录
mkdir -p /opt/xx/oo
mkdir -p /opt/a/b/c/d#ls -R选项可以递归目录下所有内容
ls -R /opt/a
/opt/a:
b/opt/a/b:
c/opt/a/b/c:
d
2. cd 切换目录命令
cd(英文全拼:change directory)切换目录
命令格式:cd [-选项] [目录名]
-
提示:如果不指定目录名称,则切换到当前用户的家目录~
-
常用快捷操作:
~
表示为家目录(可以直接cd)..
表示上一级目录-
可在最近的两路径之间来回切换
3. 绝对路径与相对路径
绝对路径:以/(根)为起点,到达你想去的目标目录称为绝对路径
相对路径:以当前路径为起点,到达你想去的目标目录(必须保证相对路径下存在这个目录)
4. pwd 打印当前所在目录
pwd(英文全拼:print work directory)显示当前所在目录完整路径名称
- 命令格式:pwd [-选项]
# cd /opt/a/b/c/d打印当前所在目录绝对路径
pwd#切换到用户家目录
# cd ~
# pwd
/root
# cd /opt/a/b/c/d
# pwd
/opt/a/b/c/d
# cd
# pwd
/root# cd /bin
# pwd
/bin# cd /boot
# pwd
/boot
# ls# cd /dev
# pwd
/dev
# ls# cd /etc
# pwd
/etc
# ls# ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var#“.”表示当前所在目录,对于cd命令而言作用不大
# cd .# cd /opt/a/b/c/d
# pwd
/opt/a/b/c/d#“..”切换到当前目录的上一级目录
# cd ..
# pwd
/opt/a/b/c# cd ..
# pwd
/opt/a/b# cd ..
# cd ..
# pwd
/opt# cd ..
# cd ..
# cd
# ls# cd /opt/a/b/c/d
# pwd
/opt/a/b/c/d"-"可在两个路径之间来回切换
# cd /etc/yum
# cd -
/opt/a/b/c/d# pwd
/opt/a/b/c/d# cd -
/etc/ym# cd -
/opt/a/b/c/d# cd -
/etc/yum
5. rmdir 删除空目录命令
rmdir(英文全拼:remove directory)删除空目录(了解即可)
- 命令格式:rmdir [-选项] 目录名
#rmdir只能删除空目录,如果目录下存在数据无法删除
rmdir /opt/a
rmdir: 删除 "/opt/a" 失败: 目录非空ls -R /opt/a
/opt/a:
b/opt/a/b:
c/opt/a/b/c:
d/opt/a/b/c/d:rmdir /opt/a/b/c/d
ls -R /opt/a
/opt/a:
b/opt/a/b:
c/opt/a/b/c:rmdir /opt/a/b/c
ls -R /opt/a/b
/opt/a/b:rmdir /opt/a/b
ls -R /opt/a
/opt/a:rmdir /opt/a
ls /opt
rh student xxrmdir /opt/
rmdir: 删除 "/opt/" 失败: 目录非空
6. touch 创建文件命令
touch 命令用于创建新的空白文件
命令格式:touch [-选项] 文件名
#在当前路径创建空文件
touch hello#在当前路径同时创建多个文件
touch t1 t2 t3 t4#在指定路径同时创建多个文件
touch /opt/test1 /opt/test2 /opt/test3#如果存在同名目录时,无法创建
mkdir test
mkdir: 无法创建目录"test": 文件已存在#如果存在同名文件时,touch命令没有提示,但原有文件不会被覆盖
touch t1#对于目录而言,只有单个目录的时候,“/”可有可无
ls /opt/
rh student test1 test2 test3 xxls /opt
rh student test1 test2 test3 xx#对于目录而言,查看目录下的内容时,必须要有“/”,如果查看的是目录本身,可有可无!
ls /opt
ls /opt/xx#对于文件而言,后边绝对不能有“/”
ls /opt/test1
/opt/test1ls /opt/test1/
ls: 无法访问/opt/test1/: 不是目录
7. cp 复制命令
cp(英文全拼:copy file)用于复制文件或目录,cp命令在复制时也可修改目录或文件名字
- 命令格式:cp [-选项] 源文件 目标目录
- 常用选项:
- -p #保留源文件属性不变拷贝(如:修改时间、归属关系、权限)
- -r #支持对目录拷贝
- 使用
.
配合cp命令执行复制
#复制当前目录文件到/opt目录(相对路径方式复制)
cp t1 /opt/#复制文件到/opt目录(绝对路径方式复制)
cp /root/t2 /opt#同时复制多个文件
cp t3 t4 /opt/#创建目录
mkdir abc#使用-r对目录执行复制
cp -r abc /opt#同时复制多个目录
mkdir abc1 abc2 abc3
cp -r abc1 abc2 abc3 /opt#复制hello文件到/opt并改名为hello.txt
cp hello /opt/hello.txt#复制xxxx目录到/opt并改名xxoo
mkdir xxxx
cp -r xxxx /opt/xxoo#使用“.”配合cp命令执行复制
cd /etc/sysconfig/network-scripts/
cp /root/t1 .#操持属性不变复制文件
cp -p anaconda-ks.cfg /opt
cp:是否覆盖"/opt/anaconda-ks.cfg"? y #对比以上两个文件的详细属性信息(最后一次修改时间)
ls -l anaconda-ks.cfg
-rw-------. 1 root root 1800 3月 13 17:34 anaconda-ks.cfg#这两个操作代表什么意思?
cp -r test /opt/public #拷贝并改名
cp -r test /opt/public #拷贝到该目录下
8. mv 移动命令
mv(英文全拼:move file)用于移动文件到其他位置,也可用于修改文件名
- 命令格式:mv [-选项] 源文件… 目标路径
- 使用
.
配合mv命令使用
#移动当前路径hello文件到/mnt目录
mv hello /mnt#同时移动多个文件
mv t1 t2 t3 t4 /mnt#移动/opt目录下文件到/mnt
mv /opt/test1 /opt/test2 /opt/test3 /mnt/#移动目录
mv student1 /mnt#移动文件并改名
mv hello.txt /media/hello#移动目录并改名
mv test /media/testxx
提示:
- 移动直接将源文件移动到目标目录,源文件消失了
- 拷贝源文件依然存在
9. cat 查看文件内容命令
cat (英文全拼:concatenate)命令用于查看文件内容
-
命令格式:cat [选项] 文件名
-
常用选项
- -n #查看文件时以行号的形式显示文件内容
#查看文件内容(本地域名解析文件)
cat /etc/hosts#查看网卡文件内容,网卡配置文件
cat /etc/sysconfig/network-scripts/ifcfg-ens32 #查看当前系统用户基本信息文件内容
cat /etc/passwd#查看当前系统主机名配置文件内容
cat /etc/hostname#查看当前系统版本信息文件内容
cat /etc/centos-release #查看当前系统开机自动挂载配置文件内容
cat /etc/fstab#查看系统组基本信息文件内容
cat /etc/group#查看存放DNS配置文件信息
cat /etc/resolv.conf #使用“-n”以行号形式显示文件内容
cat -n /etc/passwd
cat -n /etc/hostname
cat -n /etc/fstab
cat -n /etc/group
cat -n /etc/services
10. less查看文件内容命令
less 常用于查看内容量较大的文件,可以分页显示文件内容
- 命令格式:less [-选项] 文件
- 常用选项:-N 以行号形式显示文件内容
使用技巧:
- 键盘上下键逐行查看
- f 向下翻一页
- b 向上翻一页
- /关键词 搜索指定字符串(n从上向下定位,N从下向上定位)
- G 直接跳转到文件最后一行
- gg 直接跳转到文件行首
- :1000 精准的定位到某一行(每次定位需要从第一行开始,否则会从当前行数开始进行定位
- q 退出
less -N /etc/services
11. head与tail查看文件命令
head命令:用来显示文件开头部分内容,默认显示文件开头10行内容
-
命令格式:head [选项] 文件
-
常用操作:
-
<行数> #指定显示的行数
head /etc/passwd
head /etc/fstab
head /etc/group
head /etc/hostname
head /etc/hosts
head /etc/sysconfig/network-scripts/ifcfg-ens32 #指定显示文件前多少行内容
head -5 /etc/passwd
head -6 /etc/passwd
head -15 /etc/passwd
head -20 /etc/passwd
tail命令:用来显示文件末尾部分内容,默认显示文件末尾10行内容
- 命令格式:tail [选项] 参数
- 常用操作:
-
<行数> 显示指定的行数- 常用选项:
- -f #动态显示(常用在查看日志)
tail /etc/passwd#使用“-n”指定显示文件末尾多少行内容
tail -5 /etc/passwd
tail -5 /etc/sysconfig/network-scripts/ifcfg-ens32 #动态查看文件内容
touch t1
tail -f t1#另开一个终端向文件写入内容
echo 123 > t1
12. rm删除命令
rm(英文全拼:remove)命令用于删除文件或者目录。
-
命令格式:rm [-选项…] 目录或文件…
-
常用选项
- -f 强制删除
- -r 删除目录
*
特殊字符:系统常用符号,匹配所有!
rm /opt/hello.txt
rm:是否删除普通空文件 "/opt/hello.txt"?y#同时删除目录下指定文件
[root@localhost ~]# rm /opt/t1 /opt/t2 /opt/t3 /opt/t4
rm:是否删除普通空文件 "/opt/t1"?y
rm:是否删除普通空文件 "/opt/t2"?y
rm:是否删除普通空文件 "/opt/t3"?y
rm:是否删除普通空文件 "/opt/t4"?y#使用“-f”强制删除文件(无需确认,直接删除)
rm -f /mnt/hello#同时强制删除多个文件
rm -f /mnt/t1 /mnt/t2 /mnt/t3 /mnt/t4#删除目录
rm -r /opt/abc
rm:是否删除目录 "/opt/abc"?y#同时删除多个目录
rm -r /opt/abc1 /opt/abc2 /opt/abc3
rm:是否删除目录 "/opt/abc1"?y
rm:是否删除目录 "/opt/abc2"?y
rm:是否删除目录 "/opt/abc3"?y#同时强制删除多个目录
rm -rf /opt/home /opt/student /opt/xx /opt/xxoo#rm命令在删除目录时,包含改目录及目录下所有数据全部删除
rm -rf /opt/#使用“*”通配任意所有字符,删除/mnt目录下所有数据
rm -rf /mnt/*