linux学习之命令行笔记(一)
最近在centOS环境下初学linux命令行,刚好在博客园上又看到一篇文章:命令行是你的至交好友是介绍命令行的,觉得不错,就按照文章的实例一步一步执行命令,收获良多。
1、文章开始介绍的是BASH的提示符,我总算明白提示符是怎么来的,不过有个疑问,就是不知道如何定制自己的个性化提示符,应该是修改配置文件,可是如何修改呢?文章没有说明,我也只好存疑啦。
PS1、PS2、PS3、PS4是BASH的特殊变量,分别控制着不同类型的提示符。可以用下面的命令查看个人的PS1变量:echo $PS1
可以在BASH命令中使用的特殊字符完整列表:
- \a - ASCII响铃字符(07)
- \d – 以“Weekday Month Date”格式显示日期
- \D{format} – format被传递给strftime(3)并把相应的结果插入到提示字符串中; 如果format为空则代表本地时间. 必须有在括号
- \e – ASCII转义字符(033)
- \h – 到第一个 `.’前代表主机名称
- \H – 主机名称
- \j – 当前被Shell管理工作数
- \l – Shell终端设置名称的基本名
- \n – 新行
- \r – 回车
- \s – Shell的名称
- \T – 12小时制当前时间,格式为 HH:MM:SS
- \t – 24小时制当前时间,格式为 HH:MM:SS
- \@ – 12小时制当前时间,格式为am/pm
- \A – 24小时制当前时间,格式为 HH:MM
- \u – 当前用户的名称
- \v – BASH版本
- \V – BASH发行备注,版本号+补丁
- \w – 当前工作目录,其中$HOME被缩写成”~”(使用PROMPT_DIRTRIM的值)
- \W – 当前工作目录的basename,$HOME被缩写成”~”
- \! – 命令的使用次数
- \# – 命令号
- \$ – 命令提示符,如果UID是0则显示为#,否则为$
- \nnn – 8进制数据nnn代表的字符
- \\ – 反斜杠
- \[ - 开始一个非打印字符序列,这个序列可以嵌入一个终端控制序列到提示中
- \] – 非打印字符序列结束
2、mkdir 、touch、ls、重定向命令
(1)mkdir命令创建新文件夹
touch命令创建文件或修改文件时间。
注意比较mkdir 、touch命令的不同,前者是创建文件夹,后者是创建文件。touch命令中的参数-t <time>用于指定时间,-r <file>设置与file相同的时间。
(2)ls 显示文件目录列表。常用参数:
ls <File> 显示某个文件,直接跟上文件名
ls <Dir> 显示某个目录,直接跟上目录名
ls -d <Dir> 显示目录本身信息
ls -l 显示目录或文件详细信息
ls -a 显示所有文件,包括隐藏文件。
(3) 重定向命令。>重定向标准输出。例:ls -al > ./SecondDir/ThirdFile
find -name *File 1>./SecondDir/ThirdFile 2>&1
3、用户权限chown、chmod、chgrp命令
可以在/etc/passwd文件找到用户列表,/etc/group找到组列表。chown改变文件所有者,chmod改变文件权限,可执行或者可读。chgrp改变文件所属组。
4、cat 、grep、sed 、pipe
cat命令读取文件内容。grep命令查找一个模式并输出相匹配的行。
sed 、pipe用于管道命令,待深入学习。
示例:cat ./SecondDir/ThirdFile | grep "Another" | sed -e "s/AnotherFile/myFile"
5、网络命令
ping
traceroute 从你的电脑到目标设备的路由
ifconfig 网络配置
netstat 列出系统所有网络连接,IP、接口、监听端口。