Linux系统
文件分区比较复杂,先保留,后期再继续看
一、初学者的建议
一些经验
Linux严格区分大小写
Linux中所有内容以文件形式保存,包括硬件
- 硬盘文件是/dev/sd[a-p]
- 光盘文件是/dev/sr0等
改一些环境变量、服务配置等等,如果写在命令行里面只是临时生效,写在配置文件里面,才能永久生效。
Linux不靠扩展名区分文件类型
下面这些特殊,本身不需要,为了方便管理员看
- 压缩包 .gz .bz2 .tar.bz2 .tgz等
- 二进制软件包 .rpm
- 网页文件 .html .php
- 脚本文件 .sh
- 配置文件 .conf
Linux所有的存储设备都必须挂载之后用户才能使用,包括硬盘、U盘和光盘(图形化界面的Linux不需要)
Windows下的程序不能直接在Linux中安装和运行
Linux各目录的作用
目录名 | 目录作用 |
---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行,不过放在/bin目录下的命令在单用户模式下也可以执行 | /sbin/ | 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看 | /usr/bin/ | 存放系用命令的目录,普通用户和超级用户都可以执行,这些命令和系统启动无关,在单用户模式下不能执行 | /usr/sbin/ | 存放根文件系用不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。大家其实可以主要到Linux的系统,在所有sbin目录中保存的命令只有超级用户可以使用,bin目录中保存的命令所有用户都可以使用 | /boot/ | 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 | /dev/ | 设备文件保存位置,我们已经说过Linux中所有内容以文件形式保存,包括硬件。那么这个目录就是用来保存所有硬件设备文件的 | /etc/ | 配置文件保存位置。系统中所有采用默认安装方式(npm安装)的服务的配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等 | /home/ | 普通用户的家目录,建立每个用户时,每个用户要有一个默认登陆位置,这个位置就是这个用户的家目录,所有普通用户的家目录就是在/home下尽力一个和用户名相同的目录,如用户名user1的家目录就是/home/user1 | /lib/ | 系统调用的库函数保存位置 | /lost+found/ | 当系统以外崩溃或者机器意外关机,而产生的一些文件碎片放在这里,当系用启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统,这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录 | /media/ | 挂载目录,系统建议是用来挂载媒体设备的,例如软盘和光盘 | /mnt/ | 挂载目录,早期Linux中只有这一个挂载目录,并没有细分,现在这个目录系统建议挂载额外设备,比如U盘,移动硬盘和其他操作系统的分区 | /misc/ | 挂载目录,系统建议用来挂载NFS服务的共享目录 | /opt/ | 第三方安装的软件保存位置,这个目录就是放置和安装其他软件的位置,手工安装的源码文件都可以安装到这个目录中,不过习惯把软件放置到/usr/local/的目录中,也就是说/usr/local/目录也可以用来安装软件 | /proc/ | 虚拟文件系统,该目录中的数据并不保存到硬盘中,而是保存到内存中,主要保存系统的内核,进程,外部设备状态和网络状态灯。如/proc/cpuinfo是保存CPU信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存文件系统列表的,/proc/net/是保存网络协议信息的 | /sys/ | 虚拟文件系统,和/proc目录相似,都是保存在内存当中的,主要是保存与内核相关信息的 | /root/ | 超级用户的家目录,普通用户的家目录在/home下,超级用户家目录直接在/下 | /srv/ | 服务数据目录,一些系统服务启动之后,可以在这个目录中保存所需要的数据 | /tmp/ | 临时目录,系统存放临时文件的目录,该目录下所有用户都可以访问和写入,我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空 | /usr/ | 系统软件资源目录,注意usr不是user的缩写,而是Unix Software Resource的缩写,所以不是存放用户数据,而是存放系统软件资源的目录,系统中安装的软件大多数保存在这里 | /var/ | 动态数据保存位置,主要保存缓存、日志以及软件运行所产生的文件 |
服务器注意事项
- 远程服务器不允许关机,只能重启
- 重启时应该关闭服务
- 不要在服务器访问高峰运行高负载命令
- 远程配置防火墙时不要把自己踢出服务器
- 指定合理的密码规范并定期更新
- 合理分配权限
- 定期备份重要数据和日志
二、Linux常用命令
1、文件处理命令
命令格式与目录处理命令ls
命令格式:命令 [-选项] [参数]
例:ls -la /etc
说明
- 个别命令使用不遵循此格式
- 当有多个选项时,可以写在一起
- 简化选项与完整选项 -a等于–all
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
- -a (all)显示所有所有文件,包括隐藏文件(以.开头的文件是隐藏文件)
- -l (long)详细信息显示
- -h 更人性化的一个选项,空间大小会换算成KB、MB等
可以直接写成-lh,且先后顺序也无所谓
显示的后6个内容:文件计数,所有者,所属组,文件大小,最后一次修改时间,文件名
隐藏文件:告诉用户这是一个系统文件,没事或者除非确认要操作,否则不要乱动它
显示的第一个内容:-rw-r–r--
- 是文件类型( - 表示这是一个二进制文件 d 表示这是一个目录 l 表示这是一个软链接文件)
rw- r-- r-- 分别对应 u 所有者,g 所属组,o 其他人(各3个字符)
r读,w写,x执行(权限的建议:够用即可)
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir -p [目录名]
功能描述:创建新目录
? -p 递归创建
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
$ cd /tmp/Japan 切换到指定目录
$ cd … 回到上一级目录
命令名称:pwd
命令英文原意:print working diretory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前目录
命令名称:rmdir
命令英文原意:remove empty directories
命令所在路径:/bin/rmdir
执行权限:所有用户
语法:rmdir [空目录]
功能描述:删除空目录
$ rmdir /tmp/Japan
rmdir只能删除空的目录
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -rp [原文件或目录] [目标目录]
? -r 复制目录
? -p 保留文件属性
功能描述:复制文件或目录
-r是拷贝目录
拷贝文件不加-r
复制的同时可以改名
命令名称:mv
命令全名:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
同一个路径下移动,就是改名
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -rf [文件或目录]
? -r 删除目录
? -f 强制执行
功能描述:删除文件
$ rm /tmp/yum.log
$ rm -rf /tmp/Japan/longze
千万不要 $ rm -rf / 会把电脑整崩溃,所有内容都会强制删除
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:创建空文件
$ touch Japan.list
注意:这里的list并不是特殊扩展名,方便使用
命令名称:cat
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
? -n 显示行号
$ cat /etc/issue
$ cat -n /etc/services
cat 查看一些比较短的文件,不适合看长文件
命令名称:tac
命令所在路径:/usr/bin/tac
执行权限:所有用户
语法:tac [文件名]
功能描述:显示文件内容(反向列示)
$ tac /etc/issue
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
? (空格)或f 翻页
? (Enter)换行
? q或Q 退出
功能描述:分页显示文件内容
$ more /etc/services
命令名称:less
命令所在路径:/usr/bin/less
执行权限:所有用户
语法:less [文件名]
功能描述:分页显示文件内容(相较于more,less可以实现向上翻页)
$ less /etc/services
命令名称:head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法:head [文件名]
功能描述:显示文件前面的几行
? -n 指定行数(不写,默认10行)
$ head -n 20 /etc/services
命令名称:tail
命令所在路径:/usr/bin/tail
执行权限:所有用户
语法:tail [文件名]
功能描述:显示文件后面几行
? -n 指定行数
? -f 动态显示文件末尾内容
$ tail -n 18 /etc/services
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [原文件] [目标文件]
? -s 创建软链接
? 无:创建硬链接
功能描述:生成链接文件
$ ln -s /etc/issue /tmp/issue.soft
$ ln /etc/issue /tmp/issue.hard
软链接的特征:类似Windows的快捷方式
- lrwxrwxrwx 其中的l表示软链接,软链接的权限都为rwxrwxrwx
- 文件大小-只是符号链接
- /tmp/issue.soft->/etc/issue 箭头指向源文件
硬链接的特征:
- 可以实现拷贝cp -p 的功能,并且能够同步更新
- 通过i节点识别(硬链接的文件和原文件i节点相同,软链接的文件则不同)
- 不能跨分区创建硬链接,软链接可以
- 不能针对目录使用硬链接,也就是只能对一个文件使用(与软链接不同)
|