当前位置: 首页 > news >正文

linux快速入门-学习笔记

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 313 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

提示:

  1. 移动直接将源文件移动到目标目录,源文件消失了
  2. 拷贝源文件依然存在
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/*

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Adobe“加速”创意人士开启设计新篇章
  • MongoDB教程(二十二):MongoDB固定集合
  • [k8s源码]8.deltaFIFO
  • Vue Router基础
  • BSV区块链在人工智能时代的数字化转型中的角色
  • 【快速实践 OpenCV morphology】形态学操作:腐蚀、膨胀、开运算、闭运算
  • 无人机飞行姿态俯仰、横滚、偏航、油门详解
  • vite+react+ts+Rust来进行前后端web开发(hello world)
  • 后端返回一个图片链接,前端如何实现下载功能?
  • 零基础入门:创建一个简单的Python爬虫管理系统
  • 杰发科技AC7840——SENT数据解析及软件Sent发送的实现
  • 【Node.js基础04】包的理解与使用
  • 如何使用 API list 极狐GitLab 容器镜像仓库中的 tag?
  • SVN文件夹没有图标(绿钩子和红感叹号)
  • 【C# WInForm】将TextBox从输入框设置为文本框
  • Docker: 容器互访的三种方式
  • express如何解决request entity too large问题
  • HTTP请求重发
  • jquery ajax学习笔记
  • JS学习笔记——闭包
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • spring security oauth2 password授权模式
  • text-decoration与color属性
  • ubuntu 下nginx安装 并支持https协议
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于 Babel 的 npm 包最小化设置
  • 配置 PM2 实现代码自动发布
  • 设计模式 开闭原则
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 新版博客前端前瞻
  • 移动端解决方案学习记录
  • 【云吞铺子】性能抖动剖析(二)
  • 进程与线程(三)——进程/线程间通信
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #if 1...#endif
  • #if等命令的学习
  • $.each()与$(selector).each()
  • (2)Java 简介
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (vue)页面文件上传获取:action地址
  • (备忘)Java Map 遍历
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (九)One-Wire总线-DS18B20
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)JAVA中的堆栈
  • ./和../以及/和~之间的区别
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET C# 操作Neo4j图数据库
  • .net 连接达梦数据库开发环境部署
  • .NET/C# 使用 SpanT 为字符串处理提升性能