Linux基础知识
一、shell篇
1、shell
Shell 俗称壳(用来区别于核)它提供了用户与内核进行交互操作的一种接口,为使用者提供操作界面,它接收用户输入的命令并把它送入内核去执行。然后调用相应的应用程序。
Shell 实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行。
Shell 既是一种命令语言,又是一种程序设计语言 Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell
命令组成的程序。Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell
程序与其他应用程序具有同样的效果。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
2、type命令
内部命令:在系统启动时就调入内存,是常驻内存的,所以执行效率高
外部命令:是系统软件的功能,用户需要时才从硬盘中读入内存。
如何知道命令是内部命令还是外部命令?
使用type命令
语法:type [命令]
[root@qianshuiliyu ~]# type cat
cat 是 /usr/bin/cat
# 外部命令会显示路径
[root@qianshuiliyu ~]# type cd
cd 是 shell 内嵌
# 内部命令显示shell 内嵌
# #开头,代表这一行是注释
3、shell提示符
提示符默认包含当前登陆的用户名 ,主机名,以及当前工作路径路径,最后都是以 # 或者 $ 号结束
[root@qianshuiliyu ~]# su student
#用户名root,主机名qianshuiliyu,当前目录~,#代表超级用户root
[student@qianshuiliyu root]$
# $代表普通用户
我们对操作系统的一系列操作都是通过shell去完成的
例如创建用户,删除文件,修改网络等等
4、shell类型
所有的shell类型都保存在/etc/shells 文件里
[root@qianshuiliyu ~]# cat /etc/shells #cat 查看
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
/bin/zsh
具体使用的是哪一个,取决于用户配置,也就是说你可以看一下/etc/passwd文件的每一行的最后一个字段。root用户默认是/bin/bash
[root@qianshuiliyu ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
二、命令格式
命令 [选项] [参数]
有些命令不需要选项也不需要参数,有的命令在运行时需要多个选项或参数
[root@qianshuiliyu ~]# ls -l
总用量 4
-rw-r--r--. 1 root root 1970 9月 14 12:27 passwd
短选项(- 一个横杠):只能修饰一个字符的选项,比如: ls -a,当然多个短选项可以合并,比如tar -cvf
长选项(-- 两个横杠):可以修饰单个字符,也可以修饰一个单词,比如: chkconfig --list
三、查看命令ls
ls,查看目录或文件
语法:
ls [-选项] [ 文件名或目录名]
选项 | 说明 |
---|---|
-l | 显示文件名、型态、权限、拥有者、文件大小等详细信息 |
-a | 显示所有文件及目录 (包括隐藏文件) |
-d | 查看目录(不查看里面的内容) |
-t | 按照建立时间先后列出 |
-r | 倒序显示,以英文字母次序 |
-S | 以文件的大小进行排序 |
-A | 同 -a ,但不列出 “.” (当前目录) 及 " . ." (父目录) |
-R | 若目录下有文件,依次列出里面的内容 |
#后面可以不加任何选项,什么也不加,那么查看的是当前目录下的内容
[root@qianshuiliyu ~]# ls
passwd shadow
#查看详细信息
[root@qianshuiliyu ~]# ll -l
总用量 8
-rw-r--r--. 1 root root 1970 9月 14 12:27 passwd
----------. 1 root root 1160 9月 15 19:31 shadow
#查看目录
[root@qianshuiliyu ~]# ls -d /etc/
/etc/
ls -l 等同于 ll
[root@qianshuiliyu ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 1970 9月 3 12:03 /etc/passwd
[root@qianshuiliyu ~]# ll /etc/passwd
-rw-r--r--. 1 root root 1970 9月 3 12:03 /etc/passwd
四、文件类型
在Linux中流传着一句话,一切皆文件,意思就是无论是什么(文件、目录等),都以文件的方式呈现出来
文件的类型用颜色来区分,不同的颜色代表了不同的文件类型
1、分类
我们先来了解一下都有哪些类型?
标识 | 文件类型 |
---|---|
d | 目录文件 |
l | 链接文件 |
b | 块设备文件 |
c | 字符设备文件 |
p | 管道文件 |
- | 普通文件 |
2、查看文件类型
在Linux中,不以后缀名区分文件类型,那么如何查看文件是什么类型呢?
用file命令
直接在file命令后面,跟上你要查看的文件或目录
[root@qianshuiliyu ~]# file /etc/
/etc/: directory
[root@qianshuiliyu ~]# file /etc/passwd
/etc/passwd: ASCII text
[root@qianshuiliyu ~]# file /dev/sda
/dev/sda: block special
3、不同的颜色代表的类型
颜色 | 代表内容 | 例子 |
---|---|---|
蓝色 | 目录 | /etc |
黑色 | 文件 | /etc/passwd |
红色 | 压缩包 | /passwd.tar.gz |
浅蓝色 | 链接 | lib |
绿色 | 可执行文件 | /etc/init.d/network |
黄色 | 设备文件 | /dev/sda |
灰色代表其他文件,红色闪烁代表链接的文件有问题
4、file命令
file,查看文件类型
语法:
file [选项] [文件或目录]
选项 | 说明 |
---|---|
[文件或目录…] | 要确定类型的文件,多个文件之间使用空格分开,通配符匹配多个文件 |
-c | 详细显示指令执行过程,便于排错或分析程序执行 |
-b | 列出辨识结果时,不显示文件名称 |
-z | 尝试去解读压缩文件的内容 |
-L | 直接显示符号连接所指向的文件的类别 |
-v | 显示版本信息 |
-f | 指定名称文件,其内容有一个或多个文件名称时,file会依序辨识这些文件,格式为每列一个文件名称。 |
-m | 指定魔法数字文件 |
最常用的就是用来查看文件类型
[root@qianshuiliyu ~]# file /etc/
/etc/: directory