无废话硬核分享:Linux 基础知识点总结很详细,全的很,吐血奉献

aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2dpZi9QbjRTbTBSc0F1ZzV6T3p5MzJBM1JJVmhSd293SzVvZ2cxaEo2MzF1R3l1OXpPTUtmVGRkRG5TcnN4aWNiQ1FObTU5UWVvM2xEWUN2RjcwSTlpYkd2QTlnLzY0MD93eF9mbXQ9Z2lm  

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNTcwNjU4,size_16,color_FFFFFF,t_70

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。

生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 


本文链接: https://www.ngui.cc/article/show-1056141.html

Linux 的学习对于一个程序员的重要性是不言而喻的。前端开发相比后端开发,接触 Linux 机会相对较少,因此往往容易忽视它。但是学好它却是程序员必备修养之一。

Linux 基础

操作系统

操作系统Operating System简称OS,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。

 

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。

format,png

什么是 Linux

Linux 系统内核与 Linux 发行套件的区别

  • Linux系统内核指的是由Linus Torvalds负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
  • Linux发行套件系统是我们常说的 Linux操作系统,也即是由 Linux内核与各种常用软件的集合产品。

总结:真正的 Linux指的是系统内核,而我们常说的 Linux指的是 “发行版完整的包含一些基础软件的操作系统”。

Linux 对比 Windows

  • 1.稳定且有效率;
  • 2.免费(或少许费用);
  • 3.漏洞少且快速修补;
  • 4.多任务多用户;
  • 5.更加安全的用户与文件权限策略;
  • 6.适合小内核程序的嵌入系统;
  • 7.相对不耗资源。

Linux 系统种类

  • 红帽企业版 Linux:RHEL是全世界内使用最广泛的 Linux系统。它具有极强的性能与稳定性,是众多生成环境中使用的(收费的)系统。
  • Fedora :由红帽公司发布的桌面版系统套件,用户可以免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到RHEL系统中,因此 Fedora也成为RHEL系统的试验版本。
  • CentOS :通过把RHEL系统重新编译并发布给用户免费使用的 Linux系统,具有广泛的使用人群。
  • Deepin :中国发行,对优秀的开源成品进行集成和配置。
  • Debian :稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。
  • Ubuntu :是一款派生自Debian的操作系统,对新款硬件具有极强的兼容能力。Ubuntu与Fedora都是极其出色的 Linux桌面系统,而且 Ubuntu也可用于服务器领域。

终端连接阿里云服务器

format,png

通过执行ssh root@121.42.11.34命令,然后输入服务器连接密码就可以顺利登录远程服务器。从现在开始我们就可以在本地电脑操作远程服务器。

  • 1.这个黑色的面板就是终端也就是Shell(命令行环境)。
  • 2.ssh root@xxx这是一条命令,必须要在Shell中才能执行。

Shell

Shell这个单词的原意是 “外壳”,跟kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。

  • Shell是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(command line interface,简写为CLI)。Shell 接收到用户输入的命令,将命令送入操作系统执行,并将结果返回给用户。
  • Shell是一个命令解释器,解释用户输入的命令。它支持变量、条件判断、循环操作等语法,所以用户可以用Shell命令写出各种小程序,又称为Shell脚本。这些脚本都通过Shell的解释执行,而不通过编译。
  • Shell是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。

Shell 的种类

Shell有很多种,只要能给用户提供命令行环境的程序,都可以看作是 Shell。

历史上,主要的Shell 有下面这些:

  • Bourne Shell(sh)
  • Bourne Again shell(bash)
  • C Shell(csh)
  • TENEX C Shell(tcsh)
  • Korn shell(ksh)
  • Z Shell(zsh)
  • Friendly Interactive Shell(fish)

其中Bash是目前最常用的Shell。MacOS 中的默认Shell就是 Bash。

通过执行echo $SHELL命令可以查看到当前正在使用的Shell。还可以通过cat /etc/shells查看当前系统安装的所有Shell种类。

命令

命令行提示符

进入命令行环境以后,用户会看到Shell的提示符。提示符往往是一串前缀,最后以一个美元符号$ 结尾,用户可以在这个符号后面输入各种命令。

执行一个简单的命令pwd:

[root@iZm5e8dsxce9ufaic7hi3uZ ~]# pwd
/root

命令解析:

  • root:表示用户名;
  • iZm5e8dsxce9ufaic7hi3uZ:表示主机名;
  • ~:表示目前所在目录为家目录,其中root用户的家目录是 /root普通用户的家目录在 /home 下;
  • #:指示你所具有的权限(root用户为# ,普通用户为$ )。
  • 执行whoami命令可以查看当前用户名;
  • 执行hostname命令可以查看当前主机名;

关于如何创建、切换、删除用户,在后面的用户与权限会具体讲解,这里先使用root用户进行演示。

[备注]root是超级用户,具备操作系统的一切权限。

命令格式

command parameters(命令 参数)

长短参数

单个参数:ls -a(a 是英文 all 的缩写,表示“全部”)
多个参数:ls -al(全部文件 + 列表形式展示)
单个长参数:ls --all
多个长参数:ls --reverse --all
长短混合参数:ls --all -l

参数值

短参数:command -p 10(例如:ssh root@121.42.11.34 -p 22)
长参数:command --paramters=10(例如:ssh root@121.42.11.34 --port=22)

快捷方式

在开始学习Linux命令之前,有这么一些快捷方式,是必须要提前掌握的,它将贯穿整个Linux使用生涯。

  • 通过上下方向键 ↑ ↓ 来调取过往执行过的Linux命令;
  • 命令或参数仅需输入前几位就可以用 Tab 键补全;
  • Ctrl + R :用于查找使用过的命令(history命令用于列出之前使用过的所有命令,然后输入!命令加上编号 (!2) 就可以直接执行该历史命令);
  • Ctrl + L:清除屏幕并将当前行移到页面顶部;
  • Ctrl + C:中止当前正在执行的命令;
  • Ctrl + U:从光标位置剪切到行首;
  • Ctrl + K:从光标位置剪切到行尾;
  • Ctrl + W:剪切光标左侧的一个单词;
  • Ctrl + Y:粘贴Ctrl + U | K | Y剪切的命令;
  • Ctrl + A:光标跳到命令行的开头;
  • Ctrl + E:光标跳到命令行的结尾;
  • Ctrl + D:关闭Shell会话;

文件和目录

文件的组织

format,png

查看路径

pwd:显示当前目录的路径

format,png

which:查看命令的可执行文件所在路径,Linux下,每一条命令其实都对应一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应的那个程序,which命令本身对应的程序也存在于Linux中。

总的来说一个命令就是一个可执行程序。

format,png

浏览和切换目录

ls:列出文件和目录,它是Linux最常用的命令之一。

常用参数

  • -a显示所有文件和目录包括隐藏的
  • -l显示详细列表
  • -h适合人类阅读的
  • -t按文件最近一次修改时间排序
  • -i显示文件的inode(inode是文件内容的标识)

format,png

cd:cd是英语 change directory的缩写,表示切换目录。

cd / --> 跳转到根目录
cd ~ --> 跳转到家目录
cd .. --> 跳转到上级目录
cd ./home --> 跳转到当前目录的home目录下
cd /home/lion --> 跳转到根目录下的home目录下的lion目录
cd --> 不添加任何参数,也是回到家目录

 

[注意] 输入 cd /ho单次 tab键会自动补全路径 + 两次 tab键会列出所有可能的目录列表。

du:列举目录大小信息。

常用参数

  • -h 适合人类阅读的;
  • -a同时列举出目录下文件的大小信息;
  • -s只显示总计大小,不显示具体信息。

浏览和创建文件

cat:一次性显示文件所有内容,更适合查看小的文件。

cat cloud-init.log

常用参数

  • -n显示行号。

less:分页显示文件内容,更适合查看大的文件。

less cloud-init.log

快捷操作

  • 空格键:前进一页(一个屏幕);
  • b 键:后退一页;
  • 回车键:前进一行;
  • y 键:后退一行;
  • 上下键:回退或前进一行;
  • d 键:前进半页;
  • u 键:后退半页;
  • q 键:停止读取文件,中止less命令;
  • = 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
  • h 键:显示帮助文档;
  • / 键:进入搜索模式后,按 n 键跳到一个符合项目,按 N 键跳到上一个符合项目,同时也可以输入正则表达式匹配。

head:显示文件的开头几行(默认是 10 行)

head cloud-init.log

参数

  • -n 指定行数head cloud-init.log -n 2

tail:显示文件的结尾几行(默认是 10 行)

tail cloud-init.log

参数

  • -n指定行数tail cloud-init.log -n 2
  • -f会每过 1 秒检查下文件是否有更新内容,也可以用 -s 参数指定间隔时间tail -f -s 4 xxx.log

touch:创建一个文件

touch new_file

mkdir:创建一个目录

mkdir new_folder

常用参数

  • -p递归的创建目录结构mkdir -p one/two/three

文件的复制和移动

cp:拷贝文件和目录

cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件
cp file one --> 把 file 文件拷贝到 one 目录下,并且文件名依然为 file
cp file one/file_copy --> 把 file 文件拷贝到 one 目录下,文件名为file_copy
cp *.txt folder --> 把当前目录下所有 txt 文件拷贝到 folder 目录下

常用参数

  • -r递归的拷贝,常用来拷贝一整个目录

mv:移动(重命

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐 城

小朋友,你是不是有很多问号?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值