参数用来指定操作对象,比如进程
有的命令不能省略选项和参数,甚至需要多个选项和多个参数,有的命令不需要选项和参数
多个选项可以合并写,如ls -la
,顺序无所谓
选项分为简化和完整两种,我们用简化选项更方便,完整选项用--
调用。
绝对是这辈子用的最多的linux命令
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 模板 图片 下载 桌面
cppspace 公共 视频 文档 音乐
[root@localhost ~]# ls -a
. .bash_logout .config .esd_auth .tcshrc 视频 音乐
.. .bash_profile cppspace .ICEauthority .viminfo 图片 桌面
anaconda-ks.cfg .bashrc .cshrc initial-setup-ks.cfg 公共 文档
.bash_history .cache .dbus .local 模板 下载
.开头的文件是隐藏文件,linux中用-a
选项就可以看到,Windows中也可以选择显示隐藏文件,所以隐藏文件并不是为了不让你看,它的设计初衷其实是:这是一个系统文件,如果没有特殊情况,不要改动它,所以隐藏起来,是为了文件的安全。
但是现在很多病毒文件也喜欢把自己隐藏起来。
[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root 2005 8月 4 18:47 anaconda-ks.cfg
drwxr-xr-x. 2 root root 34 8月 4 22:28 cppspace
-rw-r--r--. 1 root root 2036 8月 4 18:58 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 8月 4 21:46 公共
drwxr-xr-x. 2 root root 6 8月 4 21:46 模板
drwxr-xr-x. 2 root root 6 8月 4 21:46 视频
drwxr-xr-x. 2 root root 6 8月 4 21:46 图片
drwxr-xr-x. 2 root root 6 8月 4 21:46 文档
drwxr-xr-x. 2 root root 6 8月 4 21:46 下载
drwxr-xr-x. 2 root root 6 8月 4 21:46 音乐
drwxr-xr-x. 2 root root 63 8月 4 21:47 桌面
第二项的数字,1或者2,是很有争议的一个点,表示引用计数,只在硬链接(很重要)中才有作用,曾被调用的次数,反正大概知道是文件的引用计数就行。
第三项,非常重要,linux根据每个文件把所有用户分为三类,所有者(user,u),所属组(group,g),其他人(other, o),这个分类表示文件和用户的关系。
一般情况下所有者只能有一个人。可以变更所有者,但不常见。
所属组是一个用户集。可以授予一组用户相同的权限。
所以上面文件的所有者都是root。
第四项是文件的所属组的名称,是root组的,如果一个用户和root在一个组,则也可以拥有和root一样的权限。
第五项是文件大小,默认单位是字节。可以用-h
选项按照KB或者MB单位显示大小,h表示human,人性化显示
[root@localhost ~]# ls -lh
总用量 8.0K
-rw-------. 1 root root 2.0K 8月 4 18:47 anaconda-ks.cfg
drwxr-xr-x. 2 root root 34 8月 4 22:28 cppspace
-rw-r--r--. 1 root root 2.0K 8月 4 18:58 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 8月 4 21:46 公共
drwxr-xr-x. 2 root root 6 8月 4 21:46 模板
drwxr-xr-x. 2 root root 6 8月 4 21:46 视频
drwxr-xr-x. 2 root root 6 8月 4 21:46 图片
drwxr-xr-x. 2 root root 6 8月 4 21:46 文档
drwxr-xr-x. 2 root root 6 8月 4 21:46 下载
drwxr-xr-x. 2 root root 6 8月 4 21:46 音乐
drwxr-xr-x. 2 root root 63 8月 4 21:47 桌面
但是linux其实是没有创建时间这个概念的。这一点和windows不一样,linux只有文件的最后一次访问时间,状态修改时间,数据修改时间三个概念。如果文件创建以后从来没改过,那可以认为是创建时间。但是没有这个概念。
除了这三种常见的外,还有一些系统特殊文件,比如字符设备文件,块设备文件,管道符文件,套接字文件等。这些不需要用户处理,暂时可以不管。
linux文件类型比Windows少很多,后者每一种扩展名就是一种文件类型了,这一点上linux更简约。
后9个字符是三个用户类型(所有者,所属组,其他人)的权限,共三种,r,w,x,读,写,执行。为-表示没有这个权限。
x权限,执行权限是文件的最高权限,只有文件是二进制可执行的可以运行的文件,才给x权限,不然不需要。比如日志文件不需要x权限。
对于权限,永远是够用就好,不要给多余的权限,不然很危险。
linux的权限不只这么简单,后面用一章来介绍。很多内容。
.
表示当前目录,..
表示当前目录的上一级目录[root@localhost ~]# ls -d
.
[root@localhost ~]# ls -d /etc/
/etc/
[root@localhost ~]# ls -i /
34658 bin 50332832 home 16778501 mnt 53 run 16777288 tmp
64 boot 80 lib 33686992 opt 34662 sbin 33686935 usr
1025 dev 82 lib64 1 proc 50332833 srv 50331713 var
16777281 etc 83 media 33574977 root 1 sys
[root@localhost ~]#
第二常用的命令
一定要好好规划目录结构,不要轻易在根目录下创建目录或文件,一般可以在/tmp/
(临时文件)目录下创建自己的子目录。
[root@localhost ~]# mkdir /tmp/CPP/
root@localhost ~]# mkdir -p /tmp/myworkspace/mycpp/
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# cd..
bash: cd..: 未找到命令...
[root@localhost tmp]# cd ..
[root@localhost /]#
[root@localhost /]# cp /etc/yum.conf /tmp/myworkspace/
[root@localhost /]# ls /tmp/myworkspace
yum.conf
[root@localhost /]# cp -p /etc/yum.conf /tmp/myworkspace/myyum.conf
[root@localhost /]# ls /tmp/myworkspace
grub.d myyum.conf yum.conf
可以看到,改成了myyum.conf
[root@localhost /]# mv /tmp/myworkspace/myyum.conf /tmp/
[root@localhost /]# ls /tmp/myworkspace
grub.d yum.conf
[root@localhost /]# mv /tmp/myworkspace/yum.conf /tmp/newyum.conf
[root@localhost /]# ls /tmp/myworkspace
grub.d
[root@localhost /]# cd /tmp
[root@localhost tmp]# mv CPP mycpp
名字就改啦
[root@localhost /]# rmdir /tmp/myworkspace/
rmdir: 删除 "/tmp/myworkspace/" 失败: 目录非空
[root@localhost /]# rmdir /tmp/myworkspace/CPP/
rmdir: 删除 "/tmp/myworkspace/CPP/" 失败: 没有那个文件或目录
[root@localhost /]# rmdir /tmp/myworkspace/mycpp/
[root@localhost /]#
[root@localhost tmp]# touch lovestory.list
[root@localhost tmp]# touch girls boys
[root@localhost tmp]# cat /etc/issue
\S
Kernel \r on an \m
root@localhost tmp]# cat -n /etc/issue
1 \S
2 Kernel \r on an \m
3
很适合看比较短小的文件
但是长文件就不好看了,有很多页,cat不适合,用另一个命令
[root@localhost tmp]# tac /etc/issue
Kernel \r on an \m
\S
[root@localhost tmp]# tac -n /etc/issue
tac:无效选项 -- n
Try 'tac --help' for more information.
[root@localhost tmp]#
但是-n选项就无效了。
可以分页浏览,按空格键或者f换页,按回车换行,按q退出more浏览模式,一般都是用more命令查看一个命令的帮助信息的,所以more怎么翻页怎么换行怎么退出浏览,都是很重要的
[root@localhost tmp]# more /etc/services
但是more不能往回翻
按上箭头,一行一行往上翻
按page up,则一页一页往上翻
往下翻和more样,按空格则一次翻一页,按回车则一次翻一行
而且,在less命令中,还可以搜索!直接输入/services
,即斜杠加你的搜索关键字,就会得到搜索高亮结果,并且按n就可以看下一个搜索结果,n表示next,匹配下一个关键词所在位置
很方便的小命令
对很长的文件,如果只看前几行,则用head命令
[root@localhost tmp]# head -n 3 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
[root@localhost tmp]#
[root@localhost tmp]# head /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn't support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers'' (October 1994). Not all ports
[root@localhost tmp]#
很方便的小命令
[root@localhost tmp]# tail -n 3 /etc/services
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker
[root@localhost tmp]#
3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service Protocol
isnetserv 48128/tcp # Image Systems Network Services
isnetserv 48128/udp # Image Systems Network Services
blp5 48129/tcp # Bloomberg locator
blp5 48129/udp # Bloomberg locator
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker
[root@localhost tmp]#