基本shell命令
/etc/passwd
包含了所有系统用户账户列表和每个用户的基本配置信息
shell 命令提示符
williamtekiMacBook-Pro:shelltest valentine$
这个代表了shell命令的提示符
PS1: 控制默认命令提示符的格式
PS2: 控制后续命令提示符的格式
使用echo 可以查看当前提示符的格式
williamtekiMacBook-Pro:shelltest valentine$ echo $PS1
\h:\W \u\$
williamtekiMacBook-Pro:shelltest valentine$ echo $PS2
>
通过修改PS1 变量可以改变当前shell提示符
比较有用的转义序列有:
a ASCII 响铃字符(也可以键入 \007)
\d "Wed Sep 06" 格式的日期
\e ASCII转义字符
\h 主机名
\H 完整的主机名
\j 在此 shell 中通过按 ^Z 挂起的进程数
\l 此 shell 的终端设备名(如 "ttyp1")
\n 换行符
\r 回车符
\s shell 的名称(如 "bash")
\t 24小时制时间
\T 12小时制时间
\@ 带有 am/pm 的 12 小时制时间
\v bash 的版本(如 2.04)
\V Bash 版本(包括补丁级别)
\u 用户名
\w 当前工作目录(绝对路径)
\w 当前工作目录(basename)
\! 当前命令在历史缓冲区的位置
\$ 如果当前用户是super user,则插入字符#;否则插入字符$
\\ 反斜杠
\[ 出现在不移动光标的字符序列之前
\] 出现在非打印字符之后
\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符
我们可以通过设置PS1变量使提示符成为彩色。在PS1中设置字符序列颜色的格式为:
\[\e[F;Bm\]
其中``F''为字体颜色,编号30~37;``B''为背景色,编号40~47。
可通过``\e[0m''关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,详细请看下面的颜色表与代码表。
颜色表
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 OFF
1 高亮显示
4 underline
5 闪烁
7 反白显示
8 不可见
如果想要设置终端提示符的样式只要把$PS1在~/.bashrc
指定即可比,比如我的设置如下:
PS1="\[\e[32m\][\u@\h \w]$\[\e[m\]"
export PS1
查看自带手册
man bash
如果想查看某条命令怎么使用,也可以使用man命令 如
man ls
文件目录
Linux将文件存储在单个目录结构中,这个目录我们称之为虚拟目录(virtual directory)
Linux PC 上安装的第一块盘为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从这里开始构建的。虚拟目录会让文件和目录出现在这些挂载点中,然后实际上他们却存在于另一个驱动器中。
常见的Linux虚拟目录名称
/ 虚拟目录根目录,通常不在这个目录存储文件
/bin 二进制目录,存放许多GNU用户级的工具
/boot 启动目录,存放启动文件
/dev 设备目录,Linux在这里创建设备节点
/etc 系统配置文件目录
/home 主目录,Linux在这里创建用户目录
/lib 库目录,存放系统和应用程序的库文件
/media 媒体目录,存放可移动媒体设备挂载点的地方
/mnt 挂载目录,另一个存放可移动设备挂载点的地方
/opt 可选目录,通常用于存放可选的软件包
/root 根主目录
/sbin 系统二进制目录,存放许多GUN管理员级的工具
/tmp 临时目录,可以在该目录中创建和删除临时文件
/usr 用户安装软件的目录
/var 可变目录,用于存放经常变化的文件,比如日志文件
ls 命令后面的- 可以组合,如
ls -sail
ls -l myproc?
过滤列表,?替代单个字符
ls -l mvproc*
过滤列表,*替代多个字符
文件处理
创建文件 touch
williamtekiMacBook-Pro:shelltest valentine$ touch test touch
在Linux文件系统中,每个文件都有唯一的索引节点号
touch命令仅仅用于创建一个空文件,touch还可以用于改变已有文件的访问时间和修改时间。而不改变文件的内容
复制文件 cp
链接文件
链接是目录中指向文件真实位置的占位符,在Linux中有两种不同的文件链接:
符号链接:cp -s
即软链接 软链接创建的文件和源文件的索引节点号不相同,软链接文件只需存储源文件的信息,不需要存储源文件的数据
硬链接: cp -l
硬链接会创建一个独立的文件,其中包含了源文件的信息和位置。引用硬链接文件等同于引用源文件
使用硬链接复制的文件,和源文件的索引节点号是相同的,说明实际上它们是同一个文件。
如果用cp命令来复制一个链接到另一个源文件的文件,那么复制的是源文件的一个副本,而不是链接文件。
ln
复制硬链接
ln -s
复制软链接
重命名文件 mv
移动文件会改变文件名,但保持同样的索引节点号和时间戳。
移动一个有软链接指向它的文件会带来麻烦,软链接还将指向原来的文件,而不是mv之后的文件
删除文件 rm
删除源文件时,他的硬链接文件将不会被删除,还能继续使用。他的软链接也不会被删除,但是软链接文件指向的文件不能使用了。
所以在复制文件和删除文件的时候,需要查看一下链接文件数。
创建目录 mkdir##### 删除目录 rmdir
rm -r
递归的删除目录下面的文件,最后删除目录
rm -rf
不询问的删除目录和目录下面的所有文件
stat 显示所有被观察文件信息
file 用于查看文件类型
cat 查看文件内容
-n 会带上行号
-b 只给有文本的行加上行号
-T 不让制表符出现
cat不适合大型文件
more 命令
less 命令
tail 命令
head 命令