第一章
用户登陆
终端
Shell介绍
执行命令
简单命令
bash快捷键
用户登陆 root超级用户,权限大
普通用户,权限有限。
终端 tty 显示当前终端的终端名
shell介绍 shell 人机交互的语言
windows shell
powershell
dos
linux unix like
sh
bash (default) rhel/suse/ubuntu/fedora/debian/macOS
ksh
csh
zsh
nologin
mobile
ios
android
echo $SHELL 查看当前的shell类型
cat /etc/shells 查看当前系统所安装的Shell
提示符
whoami 显示当前用户名
id 显示当前用户信息(包含用户名、uid、组名、gid)
pwd显示当前所在目录的绝对路径。
[root@centos6 ~]#
[用户名@主机名前缀 目录路径后缀]#|$ (root是为#,普通用户时为$)
echo $PS1显示当前的提示符格式
PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\] "
执行命令(内部命令与外部命令)
enable
enable 显示所有已激活的内部命令
enable command 激活被禁用的内部命令
enable |wc -l 显示激活中的内部命令的数量
enable -a 显示所有的内部命令
enable -a |wc -l 显示所有的内部命令的数量
enable -n 显示所有被禁用的内部命令
enable -n command 禁用某个内部命令
type
type command 显示命令的类型
hash
hash 显示所有被hash的命令路径
hash -l 显示所有被hash的命令路径,包含别名
hash -d 别名 删除指定别名的hash条目
hash -r 清空所有的hash
hash -t 别名 显示别名的hash路径
hash -p 路径 别名 手工增加一条hash
alias 显示所有的别名信息
alias 别名='command -选项 参数'
unalias 别名
unalias -a 取消所有别名
别名的保存 nano /etc/bashrc
使命令不受别名影响的方式
\command
'command'
"command"
/path/command
命令执行语法
command -options arguments
--long options
; 命令连接符,前一条命令执行结束,再执行下一条命令
\ 命令换行符
简单命令
date
+%Y 年
+%m 月
+%d 日
+%H 时
+%M 分
+%S 秒
+%w 星期
+%F 年-月-日
+%T 时:分:秒
设置时间
date 102013112020.45 月日时分年[.秒]
date -s '年-月-日 时:分:秒'
时区修改
Centos6:
ln -f /usr/share/zoneinfo/America/New_York /etc/localtime
ln -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Centos7:
ln -f -s /usr/share/zoneinfo/America/New_York /etc/localtime
ln -f -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone America/New_York
timedatectl set-timezone Asia/Shanghai
hwclock行同于clock
clock -s 将软时间写入硬时间 关机时自动进行
clock -w 将硬时间写入软时间 开机时自动进行
poweroff关机
reboot重启
init 0 关机
init 6 重启
shutdown -r 重启
shutdown -h 关机
shutdown +1 一百分钟后关机
shutdown 20:00 20:00准时关机
shutdown -c 取消计划关机
whoami用户名
who am/are/is 任意字符 显示当前的终端信息
who 显示所有终端的信息
w 显示所有终端的详细信息及所做的操作
screen
screen 生成默认命令方式的screen即终端名.主机名前缀
screen -S 会话名 创建指定名的screen
screen -x 会话名 加入已创建的screen
screen -ls 查看所有已打开的Screen
echo
-E 不开始解释功能,默认
-n 不自动换行
-e 开启解释功能 ""
\a 警告声
\b 退格
\c 不换行
\n 回车换行
\r 回车,即光标移至行首,但不换行
\t 插入tab
\\ 插入\
$() 或 ``引用命令执行的结果
$(()) 或$[]进行运算
使用${}或"$变量名" 划定变量名的起止范围。
第二章
whatis
command--help
man and info
本地帮助文档/user/share/doc/
Whatis
whatis command 或 man -f command
仅能提供命令基本的介绍。不提具体用法。
基于数据库的查找
优点:检索速度快
缺点:缺乏实时性
CentOS6
/var/cache/man/whatis
makewhatis
CentOS7
/var/cache/man/index.db
mandb
Unix Like 类unix系统
pwd
pwd -P 当前目录为软链接时,显示其源目录
基名:basename
目录名:dirname
command--help help 内部命令 查看内部命令的帮助信息
man与info
info man常用于命令参考,GNU工具info适合通用文档参考,没有参数,列出所有页面,info页面的结构就像一个网站,每一个页分为‘节点
’,链接点之前*
第三章
ls用法
时间戳
ls用法
ls -a 显示所有文件
ls -A 显示所有文件,除.、..
ls -l 长列出
-rw-r--r--. 1 root root 2193 Jul 14 17:28 passwd
文件类型|owner权限group权限other权限|硬链接数|owner|group|文件大小(bytes)|mtime|文件名
ls -R 递归
ls -ld 显示指定目录的详细信息。
ls -1 竖显示
ls -S 按文件大小降序排列
ls -t 按修改时间(mtime)从新到旧排列
ls -ut 按访问时间(atime) 从新到旧排列
ls -U 按文件存放的先后顺序
ls -X 按文件后缀排序
ls -i 显示inode号
时间戳
atime 访问时间
mtime 文件数据修改时间
ctime 文件元数据修改时间
stat filename
touch filename 当文件不存在时,则创建一个空文件,名为filename
当文件已存在时,则更新期时间戳
-a 仅更新atime,ctime
-m 仅更新mtime, ctime
touch filename 更新全部时间戳。
补充
!:0 执行前一条命令(去除参数)
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印以string开头的命令历史,而不执行
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为string2
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
要重新调用前一个命令中最后一个参数:
Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
command !^ : 利用上一个命令的第一个参数做cmd的参数
command !$ : 利用上一个命令的最后一个参数做cmd的参数
command !* : 利用上一个命令的全部参数做cmd的参数
command !:n : 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
第四章
输出定向与输入定向
硬连接与软连接
管道
cp,rm,tree ,rmdir,file
输出定向与输入定向
> 正确输出
2> 错误输出
&> 全部输出
文件不存在时,>和>> 都能创建新文件,文件已存在时 >表示覆盖,>>表示追加
2>&1 把错误的结果转成正确的结果
1>&2 把正确的结果转成错误的结果
硬连接与软连接
ln filename linkname
不能跨分区
ln -s filename linkname
可以跨分区,源被删除,链接也不可用
管道
2>&1 | 或 |& 将所有的结果传递给管道处理
cp
-i:覆盖前提示 –n:不覆盖,注意两者顺序
-r, -R: 递归复制目录及内部的所有内容
-a: 归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links 不复制原文件,只复制链接名
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
mv
-i:覆盖前提示
-f: 强制覆盖
rm -i 删除前提示
-f 强制删除
-r 删除目录
tree
-d 只显示目录
-L n 只列出指定层级的目录
-P 通配符 只列出匹配到的文件和所有目录
mkdir
-p 一次性创建多级目录
-v 创建目录时显示详细信息
-m 创建目录时直接设置权限
rmdir 仅删除空目录
-p 一次性删除多级空目录
-v 显示删除的详细信息
file
查看文件的类型
-b 查看时不显示文件名
-f /path/filename 文件中每个文件路径一行。从而可批量查看多个文件的类型
-F符号 按指定符号做为分隔符输出 默认是:
-L 当查询的对象为软链接时,显示源文件的类型
感谢观看,谢谢。
原文:http://blog.51cto.com/13570206/2060987