转载地址:点击打开链接
我使用的linux连接工具为xshell,mRemoteNG,对两款工具不做介绍啦,你可以百度一下,实在不会入左上方群。
进入之后,便是上面的界面黑乎乎一片,对于初学者也可能是一片懵逼,犹如狗拿刺猬,那么不要急,我们先来看下人生中的第一个linux命令:ls 与 cd 。
首先你先使用下面的cd命令:
[root@localhost ~]# 这个是当前用户的用户文件夹主目录
[root@localhost /]# 这个是整个系统的根目录
紧接着输入ls命令展示出一下结果。
那么这些文件都装载啦什么东东,为什么要放在根目录下,接下来我们对此做个详解。
ls,cd命令的语法与参数使用方法:http://man.linuxde.net ,不能偷懒哦,要敲敲, 你才能学好,多敲才能记住的。
Linux的文件种类,扩展名
在linux中,任何设备都是文件,就连数据通信接口也有专门的文件负责。所以我们要搞清楚linux下的文件有哪些?哪些作用?
首先我们这样输入命令,如下:
乱七八糟的都是什么呢?我拿dev这个文件夹做为示例分解下:
1、文件类型
普通文件:就是我们一般的文件,他在linux中按照文件内容大致分文3种。
- 纯文本文件(ASCII):内容直接被我们读到,如数字,字母等,几乎我们可以设置读写的文件都是这一种,他可以通过cat命令打开,直接查看内容。
- 二进制文件(binary):linux唯一可以识别执行的文件,在系统中可执行文件就是这种格式,例如:刚刚执行的cat就是一个二进制文件。
- 数据格式文件(data):程序在运行过程中读取的特定格式文件,就是数据文件,比如:用户登录的用户数据记录在/var/log/wtmp这个数据格式文件中。比较明显的特征使用last可以读出来,cat读时是乱码。
块(block)设备文件:为一些存储数据,以体统随机访问的接口设备,如硬盘,软盘等,可以随机的在硬盘的不同块读写,可以看看/dev/sda
字符(character)设备文件:一些串行端口的接口设备,如键盘、鼠标等。这些设备的特征就是“一次性读取”的,不能够截断输出。例如:鼠标只能滑动到一个地方而不能跳到另外一个地方。
套字节(sockets):这种文件类型用于在网络上的数据连接。
管道(FIFO,pipe):fifo,first-in-first-out,主要解决多个程序同事访问一个文件所造成的错误问题。
目录(directory):就是目录。
连接文件(link):类似windows系统中的快捷键。
2、文件权限r-xr-xr-x
- 缩写字母的意义:x:可执行,r:可读,w:可写,-占位。
- 123:拥有者权限,456:用户组用户权限,789:其他用户权限。
- 特征顺序为rwx。
3、连接数:表示有多少文件名连接到此节点。
4、文件名
- linux中没有像windows中所谓的扩展名。但是为啦方便认识还是要有写扩展名的习惯。
文件长度限制,一般不要超过255个字符就好。
- 文件命名限制,最好避免*?><;&|、\'"(){}
文件目录结构
当你打开linux系统之后,输入命令:cd \ 进入根目录之后,再ls会显示出如下目录结构
那么这些目录都有存放些什么文件,我们的文件又该以何种规范来存放呢?
Linux目录结构标准:FHS(Filesystem Hierarchy Standard)标准
为什么要使用一个标准呢?很简单,就是让用户和厂商有个共同的认识与约束,不至于各自为政,把linux系统的目录搞的乱七八糟,东西随便放,那我们的学习成本就很大啦。
关于FHS网上有很多介绍,FHS根据多去的经验也一直在持续改版(http://www.pathname.com/fhs/),FHS根据文件系统使用的频繁情况,是否允许用户随意改动,将目录定义成4种交互作用的形态,如下:
- 可分享的:可以分享给其他系统挂载使用的目录。
- 不可分享的:仅与自身机器有关,不适合分享给其他主机的。如自己机器上运行的设备文件或者与程序有关的socket文件。
- 不变的:不会经常变动的数据,如说明文件,函数库,主机服务配置文件等。
- 可变动的:经常会改变的数据,如登录文件,新闻组等。
根目录与根目录下的文件夹存放说明
根目录是整个系统最重要的一个目录,因为所有的目录都是由它衍生出来,而且根目录也与开机,还原,系统修复等操作有关。
由于系统开机需要特定的开机软件、内核文件、开机所需要的程序、函数库等文件数据,若系统出现异常时,根目录也要有能够修复文件系统的程序。由此可见根目录的重要性,所以FHS建议,根目录不要放在非常大的分区内,因为越大防止的文件越多,出错的几率也越大,性能也越不好,所以,根目录应该越小越好,且应用程序所安装的软件最好不要与根目录放在一个分区内。
由此我们来说说下面的文件都是什么,又怎么放置才好。
其实,FHS标准对根目录的定义仅有如下的目录数据。
其中有5个目录不可与根目录分开放在不同的分区。这5个目录分别为:etc,bin,dev,lib,sbin。
那么除啦以上的文件夹之外,还有一些linux系统中也非常重要的目录如下:
/dev目录:
- hd[a-t]:IDE设备
- sd[a-z]:SCSI设备
- fd[0-7]:标准软驱
- md[0-31]:软raid设备
- loop[0-7]:本地回环设备
- ram[0-15]:内存
- null:无限数据接收设备,相当于黑洞
- zero:无限零资源
- tty[0-63]:虚拟终端
- ttyS[0-3]:串口
- lp[0-3]:并口
- console:控制台
- fb[0-31]:framebuffer
- cdrom => /dev/hdc
- modem => /dev/ttyS[0-9]
- pilot => /dev/ttyS[0-9]
- random:随机数设备
- urandom:随机数设备
/etc目录
- /etc/rc,/etc/rc.d,/etc/rc*.d : 启动、或改变运行级时运行的scripts或scripts的目录。
- /etc/passwd: 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
- /etc/fstab :启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表。Linux下,也包括用swapon -a启用的swap区的信息。
- /etc/group :类似/etc/passwd ,但说明的不是用户而是用户组。
- /etc/inittab :init 的配置文件,设定系统启动时init进程将把系统设置成什么样的runlevel 。
- /etc/issue getty 在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息内容由系统管理员确定。
- /etc/motd: Message Of The Day,成功登录后自动输出内容由系统管理员确定,经常用于通告信息,如计划关机时间的警告。
- /etc/mtab: 当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新,需要一个当前安装的文件系统的列表时使用,例如df 命令。
- /etc/shadow: 在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读这使破译口令更困难.
- /etc/login.defs: login 命令的配置文件。
- /etc/printcap: 类似/etc/termcap ,但针对打印机语法不同。
- /etc/profile , /etc/csh.login , /etc/csh.cshrc :登录或启动时Bourne或C shells执行的文件,这允许系统管理员为所有用户建立全局缺省环境。
- /etc/securetty: 确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
- /etc/shells: 列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
- /etc/sysconfig :网络配置相关目录
- /etc/DIR_COLORS: 设定颜色
- /etc/HOSTNAME: 设定用户的节点名
- /etc/NETWORKING: 只有YES标明网络存在
- /etc/host.conf: 文件说明用户的系统如何查询节点名
- /etc/hosts: 设定用户自已的IP与名字的对应表
- /etc/hosts.allow: 设置允许使用inetd的机器使用