Linux 基本命令
用户登录
-
root 用户
管理帐户也被称为超级用户root。 除非必要,不要登录为 root
-
普通( 非特权 )用户
权限有限
终端terminal
-
设备终端
键盘鼠标显示器
-
物理终端( /dev/console )
控制台console
-
虚拟终端(tty:teletypewriters, /dev/tty# #为[1-6])
tty 可有n个,按Ctrl+Alt+F[1-6]切换
-
图形终端( /dev/tty7 ) startx, xwindows
CentOS 6: Ctrl + Alt + F7 CentOS 7: 在哪个终端启动,即位于哪个虚拟终端
-
串行终端( /dev/ttyS# )
ttyS
-
伪终端( pty:pseudo-tty , /dev/pts/# )
使用pty, SSH远程连接
-
查看当前的终端设备:
输入命令:tty
什么是shell:
-
Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。
-
它接收用户输入的命令并把它送入内核去执行
-
shell也被称为LINUX的命令解释器(command interpreter)
-
shell是一种高级程序设计语言
bash shell:
-
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,也是 Linux标准的shell,与sh兼容
-
CentOS默认使用就是bash shell
-
显示当前使用的shell命令
echo ${SHELL}
-
显示当前系统使用的所有shell
cat /etc/shells
命令提示符:
-
命令提示符:prompt
[root@localhost ~]# # 为管理员 $ 为普通用户
-
显示提示符格式
[root@localhost ~]#echo $PS1
-
修改提示符格式
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]" \e \033 \u 当前用户 \h 主机名简称 \H 主机名 \w 当前工作目录 \W 当前工作目录基名 \t 24小时时间格式 \T 12小时时间格式 \! 命令历史数 \# 开机后命令历史数
linux文件特性:
-
文件名严格区分字符大小写 ;
-
文件名可以使用除了/以外的任意字符,单不建议使用特殊字符;
-
文件名长度最长不能超过255个字符 ;
-
所有 . 开头的文件都为隐藏文件 ;
linux 路径概念:
相对路径:从当前位置起始的路径 ;
绝对路径:从根目录(/)起始的路径;
Linux命令帮助的获取详解 :
-
命令执行过程:
优先执行内部命令----hash(表,记录的外部命令路径)-----$PATH-----命令找不到 如何判断是否是内部命令; type COMMAND 内部命令:由shell自带的 禁用内部命令: enable -n command :禁用命令; enable -n : 显示查看所有禁用的所有命令 启用内部命令: enable command :启用内部命令 ; 外部命令: 查看路径: which -a |--skip-alias; whereis ; command --help 通过命令自带的帮助信息; command -h man command 使用(man)手册; info command 使用信息页 ; which command ; 查看命令在磁盘中的路径; whereis command 程序自身的帮助文档 /usr/share/doc/command-version ;
-
外部命令执行过程:
echo $PATH 环境变量: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
hash 命令缓存:被执行过的命令都会缓存到内存中;
hash:查看缓存过的命令的表; hash -p path name :将命令全路径path起别名为name; 例:hash -p /etc/ls ll hash -l :显示hash缓存,可以作为输入使用; hash -d name ; 删除别名 hash -t name :打印缓存中的name的路径; hash -r : 清除缓存 hash -t name :打印缓存中name的路径
命令别名:
-
编辑配置给出的新配置不会立即生效,需要注销后生效
-
bash进程重新读取配置文件
source /path/to/config_file . /path/to/config_file
-
撤消别名:unalias
unalias [-a] name [name ...] -a 取消所有别名
-
如果别名同原命令同名,如果要执行原命令,可使用
\ALIASNAME “ALIASNAME” ‘ALIASNAME’ command ALIASNAME /path/commmand
man :
-
man 命令的配置文件位于:
Centos 6 : /etc/man.config Centos 7 :/etc/man_db.conf
-
Man手册段落含义:
NAME : 命令的名称及简要说明 ; DESCRIPTION :命令功能的详细描述 ; OPTIONS :所支持的选项的相关说明 ; SYSNOPSIS :使用格式 ; EXAMPLES :使用示例 ; NOTES :相关注意事项 ; FILES :相关的配置文件 ; SEE ALSO :相关参考 ;
-
man搜索 :
/KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写; n: 下一个 N:上一个 ?KEYWORD: 以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写; n: 跟搜索命令同方向,下一个 N:跟搜索命令反方向,上一个
history 历史命令
-
文件位置:在家目录下隐藏文件 .bash_history
-
history的使用选项:
-a:追加本次会话新执行的命令历史列表至历史文件中; -d:删除历史命令中指定的命令 ; -c:清空历史命令; n: 显示最近的n条历史 (n为数字) !string 重复前一个以“string”开头的命令 !?string 重复前一个包含string的命令(string是关键字) Ctrl-r来在命令历史中搜索命令 (reverse-i-search)`’: Ctrl+g:从历史搜索模式退出
-
修改环境变量值的方法:
export 变量名 = “值”
日期和时间 :
-
显示时间
date [OPTION]...[+FORMAT] FORMAT: %F :按照指定格式显示 %D :直接显示日期 mm/dd/yy %H :显示小时 %M :显示分钟 %S :显示秒 %s :从1970年1月1日到现在所经过的秒数 %m :显示月份
-
设置时间
date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]] MM :月份 DD :几号 hh :小时 mm :分钟 CC :两位年份 ss :秒
-
Date 显示的是系统时间 ;
-
时区:
/etc/localtime
-
显示日历:
cal –y
-
Clock或hwclock 命令显示的硬件时钟;
hwclock 用法: -s,--hctosys :以硬件时间为准来修改系统时间 -w,--systohc :以系统时间为准来修改硬件时间
ls :list显示指定路径下的文件列表
ls [OPTION]...[FILE]
-a :--all显示所有文件,包含隐藏文件 ;
-l :--long长格式显示文件信息;
-A :--almost-all 显示所有文件,但不现实.和..
-h :以K为单位显示
-d :显示目录自身的相关属性,通常要与-l一起使用
-r :以逆序方式显示,默认是升序显示
-R :以递归方式显示,如果一个目录里面有子目录,则也同时显示其目录中的文件
-:普通文件;
d: 目录;
l: 链接文件;
b: 块儿设备;
c: 字符设备;
p: 管道文件;
s: socket文件;
关机:halt, poweroff
重启:reboot
-f: 强制,不调用shutdown
-p: 切断电源
关机或重启:shutdown
shutdown [OPTION]... [TIME] [MESSAGE]
OPTION:
-r: reboot
-h: halt
-c:cancel
TIME:
无指定,默认相当于+1(CentOS7)
now: 立刻,相当于+0
+m: 相对时间表示法,几分钟之后;例如 +3
hh:mm: 绝对时间表示,指明具体时间
用户登录信息查看命令:
whoami: 显示当前登录有效用户
who: 系统当前所有的登录会话
w: 系统当前所有的登录会话及所做的操作
echo命令:
-
功能:显示字符
-
语法:echo [-neE][字符串]
-E (默认)不支持 \ 解释功能 -n 不自动换行 -e 启用 \ 字符的解释功能
-
显示变量
echo "$VAR_NAME” 变量会替换,弱引用 echo '$VAR_NAME’ 变量不会替换,强引用
-
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
\a 发出警告声 \b 退格键 \c 最后不加上换行符号 \n 换行且光标移至行首 \r 回车,即光标移至行首,但不换行 \t 插入tab \\ 插入\字符 \0nnn 插入nnn(八进制)所代表的ASCII字符 echo -e '\033[43;31;5mmagedu\033[0m' \xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)
命令行扩展、被括起来的集合:
-
命令行扩展:$( ) 或 `` :
把一个命令的输出打印给另一个命令的参数echo "This system's name is $(hostname) 输出结果:This system's name is server1.example.com echo "i am `whoami` " 输出结果:i am root
-
括号扩展:{ }
打印重复字符串的简化形式echo file{1,3,5} 输出结果:file1 file3 file5 rm -f file{1,3,5} 输出结果:删除 file1 file3 file5 echo {1..10} 输出结果:1 2 3 4 5 6 7 8 9 10 echo {a..z} 输出结果:a b c d e f g h i j k l m n o p q r s t u v w x y z echo {000..20..2} 输出结果:000 002 004 006 008 010 012 014 016 018 020
通过在线文档获取帮助;
-
第三方应用官方文档
http://www.nginx.org http://tomcat.apache.org http://httpd.apache.org http://www.python.org
-
通过发行版官方的文档光盘或网站可以获得
1. 安装指南、部署指南、虚拟化指南等 2. 红帽知识库和官方在线文档 http://kbase.redhat.com http://www.redhat.com/docs http://access.redhat.com