Linux一些简单的基础
linux与windows相比较有哪些特点
- 稳定且有效率;
- 免费(或少许费用);
- 漏洞少且快速修补;
- 多任务多用户;
- 更加安全的用户与文件权限策略;
- 适合小内核程序的嵌入系统;
- 相对不耗资源
Linux 系统种类
- 红帽企业版 Linux: RHEL是全世界内使用最广泛的 Linux系统。它具有极强的性能与稳定性,是众多生成环境中使用的(收费的)系统。
- Fedora :由红帽公司发布的桌面版系统套件,用户可以免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到 RHEL系统中,因此 Fedora也成为 RHEL系统的试验版本。
- CentOS :通过把 RHEL系统重新编译并发布给用户免费使用的 Linux系统,具有广泛的使用人群。
- Deepin :中国发行,对优秀的开源成品进行集成和配置。
- Debian :稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。
- Ubuntu :是一款派生自 Debian的操作系统,对新款硬件具有极强的兼容能力。 Ubuntu与Fedora 都是极其出色的 Linux桌面系统,而且 Ubuntu也可用于服务器领域。
什么是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
echo $SHELL
- 查看当前系统安装的所有shell种类
cat /etc/shells
// 查看当前系统安装的所有shell种类
如何切换shell
chsh -s /bin/bash
// 命令执行后,注销并重新登录即可
命令
- 在这张图中,第一个kali代表的是用户的名字,第二个kali代表的是系统主机名,系统主机名有且仅有一个
- ~ 代表的是家目录,其中 root 用户的家目录是 /root 普通用户的家目录在 /home下;
- # 指示你所具有的权限( root 用户为 # ,普通用户为 $ )
快捷命令
通过上下方向键 ↑ ↓ 来调取过往执行过的 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 会话;
whoami 查看当前用户名
whoami
hostname 查看当前的主机名
hostname
pwd 查看当前所在的路径
which 查看命令的可执行文件路径
ls 浏览
列出文件和目录,它是 Linux最常用的命令之一。
【常用参数】
-a 显示所有文件和目录包括隐藏的
-l 显示详细列表
-h 适合人类阅读的
-t 按文件最近一次修改时间排序
-i 显示文件的 inode( inode 是文件内容的标识)
cd 切换目录
cd / --> 跳转到根目录
cd ~ --> 跳转到家目录
cd … --> 跳转到上级目录
cd ./home
cd /home/lion --> 跳转到当前目录的home目录下–> 跳转到根目录下的home目录下的lion目录
cd --> 不添加任何参数,也是回到家目录
du 列举目录大小信息。
-h 适合人类阅读的;
-a 同时列举出目录下文件的大小信息;
-s 只显示总计大小,不显示具体信息。
cat 显示文件的所有内容
-n 显示行号。
cat -n 3.txt
// 查看3.txt的内容并显示行号
cat 3.txt > 6.txt
// 将3.txt的内容覆盖进6.txt
cat 3.txt >> 6.txt
// 将3.txt的内容追加到6.txt中
cat > 3.txt
// 将...内容覆盖写入3.txt中
cat >> 3.txt
// 将...内容追加到3.txt中
less 分页显示文件内容,更适合查看大的文件。
【快捷操作】
- 空格键:前进一页(一个屏幕);
- b 键:后退一页;
- 回车键:前进一行;
- y 键:后退一行;
- 上下键:回退或前进一行;
- 7 of 9
- d 键:前进半页;
- u 键:后退半页;
- q 键:停止读取文件,中止 less命令;
- = 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
- h 键:显示帮助文档;
- / 键:进入搜索模式后,按 n键跳到一个符合项目,按 N键跳到上一个符合项目,同时也可以输入正则表达式匹配。
head 显示文件的开头几行(默认是10行)
-n 指定行数
head 5.txt
tail 显示文件的结尾几行(默认是10行)
-n 指定行数
-f 会每过1秒检查下文件是否有更新内容,也可以用 -s参数指定间隔时间 tail -f -s 4 xxx.log
tail -f 5.txt
- 查看5.txt的第9行内容
head 5.txt -9|tail -1
touch 创建一个文件
touch 5.txt
// 如果已有5.txt,那么将不会创建,但是依然可以执行该命令,表示修改当前文件时间
mkdir 创建一个目录
-p 选择要创建的递归目录
-m 设置新目录的文件模式(权限)
mkdir -p 1/2/3/4/5
mkdir -m 777 33
stat命令用于显示文件的状态信息
stat命令可以查看的信息包括:
- 文件(File):显示文件名
- 大小(Size):显示文件大小
- 块(Blocks):文件使用的数据块总数
- IO块(IO Block):IO块大小
- 文件类型(regular file):文件类型(普通文件)
- 设备(Device):设备编号
- Inode:Inode号
- 硬链接(Links):链接数
- 权限(Access):文件的权限
- Gid、Uid:文件所有权的Gid和Uid
- 访问时间(access time):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
- 更改时间(modify time):表示我们最后一次修改文件的时间
- 改动时间(change time):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等
- 创建时间(Birth time) : 文件创建时间,crtime,不过据查此属性linux已废弃,目前状态显示结果均为-