前五节总结
通过前面的内容,我们了解了一些linux系统基础的内容,包括:linux系统安装、网络配置、putty远程连接和yum源;还简要的介绍了一些仅需了解的内容,包括:linux历史、linux系统启动流程等。
内容已经尽量保持了简短明确,因为网络上还有大量优质的多的文档资料在等待你的发现,另外,如果你有环境,那么请尽量保证自己去练习,多练习、多查阅资料、多总结,并把这些过程记录下来,那么就是一个学习的捷径了。
ls "list"
作用:列出目录内容
语法:ls [选项]
选项:
"-l",use a long listing format,使用长格式显示
"-a",显示文件名以"."开头的隐藏文件
"-h",以human易读格式显示,主要是看容量的时候使用"KB" "MB"
"GB"
"-i",显示inode号
"-r",reverse,改变归类的顺序,例如和-t配合使用,-tr和-t显示顺序是颠倒的。
"-t",按照修改时间顺序归类文件。
"-d",列出目录本身的信息,而不是目录里边的内容。
=================================================================== [[email protected] ~]# ls anaconda-ks.cfg install.log install.log.syslog #"-l"长格式显示 [[email protected] ~]# ls -l total 20 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8749 Feb 13 05:17 install.log -rw-r--r--. 1 root root 3161 Feb 13 05:15 install.log.syslog #"-h"需要和"-l"搭配使用才会有效果 [[email protected] ~]# ls -hl total 20K -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8.6K Feb 13 05:17 install.log -rw-r--r--. 1 root root 3.1K Feb 13 05:15 install.log.syslog #"-a"显示全部内容 [[email protected] ~]# ls -al total 56 dr-xr-x---. 3 root root 4096 Feb 14 04:42 . #代表此目录 dr-xr-xr-x. 22 root root 4096 Feb 17 04:46 .. #代表上级目录 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg ...省略... drwx------. 2 root root 4096 Feb 14 04:52 .ssh -rw-r--r--. 1 root root 129 Dec 4 2004 .tcshrc #"-d"--directory 查看目录本身的资料 [[email protected] ~]# ls .ssh authorized_keys #这是.ssh目录下的文件 [[email protected] ~]# ls -d .ssh .ssh #这是.ssh目录本身的属性 ====================================================================
cd "change directory"
作用:改变目录路径
常用用法:
"cd" ,回到登陆用户家目录;
"cd [路径]",进入该目标路径;
"cd ..",进入上级目录;
"cd -" ,进入上一次的目录,相当于windows里的后退。
===================================================================== #command1;command2,代表着命令1和命令2顺序执行 [[email protected] etc]# cd /etc ; pwd #pwd命令是用来查看当前路径 /etc [[email protected] etc]# cd .. ; pwd #/etc的上级目录是/ / [[email protected] /]# cd - #又回到了/etc目录 /etc [[email protected] etc]# cd ; pwd #只输入"cd"会进入当前用户的家目录 /root =====================================================================
alias
作用:命令别名
常用用法:
增加alias,alias cmd="command [选项]......"
查看alias,alias
===================================================================== 查看alias [[email protected] ~]# alias |grep ll #查询包含"ll"的alias alias ll=‘ls -l --color=auto‘ [[email protected] ~]# ll #使用ll和ls -l --color=auto一样效果 total 20 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8749 Feb 13 05:17 install.log -rw-r--r--. 1 root root 3161 Feb 13 05:15 install.log.syslog [[email protected] ~]# ls -l total 20 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8749 Feb 13 05:17 install.log -rw-r--r--. 1 root root 3161 Feb 13 05:15 install.log.syslog #增加alias [[email protected] ~]# alias lll="ls -l --color=auto" #设置alias [[email protected] ~]# alias | grep lll #查看alias alias lll=‘ls -l --color=auto‘ [[email protected] ~]# lll #查看效果 total 20 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8749 Feb 13 05:17 install.log -rw-r--r--. 1 root root 3161 Feb 13 05:15 install.log.syslog =====================================================================
#用alias命令增加alias只是临时生效的一种方法,一旦你退出当前终端就会失效。我们可以利用以下方法使其永久生效
===================================================================== #退出当前终端重新登录 login as: root Server refused our key [email protected]‘s password: Last login: Wed Feb 18 04:29:13 2015 from unknown_c8-3a-35-2d-fc-60.gateway.2wire.net [[email protected] ~]# lll -bash: lll: command not found #bash告诉我们没有这个命令 [[email protected] ~]# alias |grep lll #查看一下alias,果然是没有lll的alias了 #写入用户家目录下的.bashrc隐藏文件中,使alias永久生效 [[email protected] ~]# vi .bashrc **************************************************** # .bashrc # User specific aliases and functions alias rm=‘rm -i‘ alias cp=‘cp -i‘ alias mv=‘mv -i‘ alias vi=‘vim‘ alias lll=‘ls -l --color=auto‘ #加入lll的alias # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi ***************************************************** [[email protected] ~]# . .bashrc #重新加载此配置文件 [[email protected] ~]# lll total 20 -rw-------. 1 root root 967 Feb 13 05:17 anaconda-ks.cfg -rw-r--r--. 1 root root 8749 Feb 13 05:17 install.log -rw-r--r--. 1 root root 3161 Feb 13 05:15 install.log.syslog [[email protected] ~]# alias |grep lll alias lll=‘ls -l --color=auto‘ ====================================================================
#也可以写到/etc/profile中,但是这个文件是全局的,所以为了安全,写在自己家目录下的.bashrc还是不错的。
查看命令类型的命令
which
作用:查看命令的完整路径,命令对象只能为外部命令
语法:which command
==================================================================== [[email protected] ~]# which ls alias ls=‘ls --color=auto‘ #可以查到同名的alias /bin/ls #可以查到ls命令的路径 [[email protected] ~]# which cd #为何不能查看cd命令的路径呢,因为cd是一个bash内部命令呀 /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) #上面括号里的路径从何而来呢? [[email protected] ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin #原来是系统变量PATH中的命令路径 ====================================================================
type
作用:查看命令类型及信息
语法:type command
==================================================================== [[email protected] ~]# type ls ls is aliased to `ls --color=auto‘ [[email protected] ~]# type cd cd is a shell builtin [[email protected] ~]# type man man is hashed (/usr/bin/man) #man是什么?别着急,往下看 ====================================================================
#hashed 散列加密,也就是常说的经过了哈希运算
man
作用:格式化显示的在线的操作帮助手册
语法:man [章节号] 命令名称
============================================================================= [[email protected] ~]# man ls ***************************************************************** LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. --author with -l, print the author of each file : **************************************************************** #ls的命令帮助,上下翻页看看吧 =============================================================================
快捷键操作
Ctrl+c 取消命令
Ctrl+z 暂停命令
Ctrl+a 光标到行首
Ctrl+e 光标到行尾
Ctrl+u 删除光标前所有字符
Ctrl+k 删除光标后所有字符
Ctrl+l 清屏
Ctrl+d 退出登录 == exit
Ctrl+s
锁住命令终端,按任何键都不会有反应
Ctrl+q 解锁命令终端
#貌似我最常用的是Ctrl+c和Ctrl+l