linux学习笔记2
Posted tags: 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习笔记2相关的知识,希望对你有一定的参考价值。 以上是关于linux学习笔记2的主要内容,如果未能解决你的问题,请参考以下文章2016-09-26
给初学者的建议
所有命令都是小写;
严格区分大小写;
不以后缀区分文件类型,但我们手动书写以帮助辨认。
压缩包:.gz/.bz2/.tar.bz2/.tgz
二进制软件包:.rpm
网页文件:.html/.php
脚本文件:.sh
配置文件:.conf
所有内容以文件形式保存,包括硬件、配置。
所有设备都必须挂载后用户才能使用,如硬盘、U盘和光盘
不能直接运行windows程序
服务器的管理和维护建议
/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。不过放在bin下的命令在单用户模式下也可以执行。
/sbin/ 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令允许普通用户查看。
/usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,单用户模式(相当于windows的安全模式,最小化模式)下不能执行。
/usr/sbin/ 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用。linux在所有sbin目录中保存的命令只有超级用户可以使用,bin中保存的所有用户都可以使用。
/boot/ 系统启动目录,保存系统启动相关的文件。如内核文件和启动引导程序,grub文件等。
/dev/ 设备文件保存位置。
/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本。
/home/ 普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录。所有普通用户的家目录就是在/home下建立一个和用户名相同的目录。如用户userl的家目录就是/home/userl
/lib/ 系统调用的函数库保存位置
/lost+found/ 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost/found就是/boot分区的备份恢复目录
/media/ 挂载目录。系统建议是用来挂载媒体设备的,例如软盘和光盘。
/mnt/ 挂载目录。早期linux中只有这个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区。
/misc/ 挂载目录。系统建议是用来挂载nfs服务的共享目录。我们在刚刚已经解释了挂载,应该知道只要是一个已经建立的空目录就可以作为挂载点。那么系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但到底在哪个目录中挂载什么设备都可以由管理员自己决定。例如在以前linux默认挂载目录只有/mnt一个,所以养成了在/mnt下建立不同目录挂载不同设备的习惯。如/mnt/cdrom挂载光盘,/mnt/usb挂载U盘。
/opt/ 第三方安装软件保存位置。手工安装的源码包软件都到这个目录。不过有人习惯把软件放置到/usr/local/目录中。
/proc/ 虚拟文件系统,此目录中的数据并不保存到硬盘当中。而是保存到内存当中。主要保存系统的内核、进程、外部设备状态和网络状态灯。如/proc/cpuinfo是保存cpu信息的,/proc/devices是保存设备驱动列表的,/proc/filesystems是保存文件系统列表的,/proc/net是保存网络协议信息的。
/sys/ 虚拟文件系统。和/proc目录相似。都是保存在内存当中的,主要是保存与内核相关的信息。
/root/ 超级用户的家目录。普通用户家目录在/home下,超级用户用户的家目录直接在/下。
/srv/ 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据。
/tmp/ 临时目录。系统存放临时文件的目录。此目录下所有用户都可以访问和定稿。建议在此目录中不要保存重要数据,每次开机建议清空。
/usr/ 系统软件资源目录。注意usr不是user的缩写,而是unix softwre resourct 的缩写。所以不是存放用户数据。系统中安装的软件大多数保存在这里。
/var/ 动态数据保存位置。主要保存缓存、日志及软件运行所产生的文件。
服务器注意事项
远程服务器不允许关机,只能重启。
重启前应该关闭服务。
不要在服务器访问高峰(晚8点多,凌晨3-5点少)运行高负载(大数据解压缩、扫描、复制)命令
远程配置防火墙(使用ip、包数据、mac、端口等过滤数据)时不要把自己踢出服务器
指定合理的密码规范并定期更新
合理分配权限(越少越好)
定期备份重要数据和日志
linux常用命令
clear或ctrl+l,清屏。ctrl+c终止执行。
命令格式:命令 [-选项] [参数]
例如:ls -la /etc
说明:
选项是选择命令的功能,参数命令的操作对象。[]代表可选。
1 个别命令使用不遵循此格式
2 当有多个选项时,可以写在一起,可以交换位置
3 简化选项与完整选项,如-a等于--all
目录处理命令: ls
命令名称: ls
命令英文原意: list
命令所在路径: /bin/ls
执行权限: 所有用户
功能描述: 显示目录文件
语法: ls 选项[-ald] [文件或目录]
-a all 显示所有文件,包括隐藏文件,在linux中以.点开头的是隐藏文件。隐藏的意义不是为了让用户看不见,再是告诉用户这是一个系统文件。
-l long 详细信息显示,如下命令结果。
[[email protected] ~]# ls -l
总用量 44
-rw-------. 1 root root 1208 9月 26 00:05 anaconda-ks.cfg
-rw-r--r--. 1 root root 24772 9月 26 00:05 install.log
-rw-r--r--. 1 root root 7690 9月 26 00:04 install.log.syslog
[[email protected] ~]# ls -l /etc/grub.conf
lrwxrwxrwx. 1 root root 22 9月 26 00:05 /etc/grub.conf -> ../boot/grub/grub.conf
分成7个部分:
第1部分,有10个字符。
第1个字符-表示文件类型(-二进制文件,d目录,l软件链接文件,r读,w写,x执行);
后面的每2个字符分别表示三种用户的相应权限。
如 -rw-r--r--
- 表示这是一个二进制文件
rw- 表示u所有者的使用权限为rw 。为什么所有者也没有x执行权限而空有rw权限?因为之前说过,权限不在多,够用就好。普通文件不需要执行权限,所以没有。当它作为一个脚本可执行文件时会有。
r-- 表示g所属组的使用权限为r
r-- 表示o其他人的使用权限为r
第2部分,引用计数:1表示文件引用计数,代表这个文件曾经被引用或调用过几次。
第3部分,文件和用户的关系:
1.所有者 u(默认是创建者,只能有一个,可改变),
2.所属组 g(只能有一个组,相同类型的用户),
3.其他人 o 。
第4部分,第一个root是所有者,第二个root是所属组名称。
第5部分,文件大小,默认为字节。可以使用 -lh 以不同单位显示大小。
第6部分,创建时间。(小文觉得:视频说windows没有创建时间这一说?而我觉得有的。只是在windows的列属性里默认没有显示,但可以在列名称栏右键,显示出来,足有几十总属性。)
-d 查看目录属性
[[email protected] ~]# ls -ld /etc
drwxr-xr-x. 102 root root 12288 9月 26 16:35 /etc
-h 以适合单位显示大小
-i 显示文件ID
总结:
ls -a -l -d -h -i
目录处理命令: mkdir
命令名称: mkdir
命令英文原意: make directories
命令所在路径: /bin/mkdir
执行权限: 所有用户
语法: mkdir -p [目录名]
功能描述: 创建新目录
-p 递归创建
范例: mkdir -p /tmp/a/b 使用p选项创建a目录,并在a目录下创建b目录
mkdir /tmp/a/c /tmp/a/d 同时在a目录下创建c和d两个目录
目录处理命令: cd
命令名称: cd
命令英文原意:change directory
命令所在路径: shell内置命令
执行权限: 所有用户
语法: cd[目录]
功能描述: 切换目录
范例: cd /tmp/a/b 切换到指定目录
cd.. 回到上一级目录,两个..点,一个.点表示当前目录。
目录处理命令: pwd
命令名称: pwd
命令英文原意: print working directory
命令所在路径: /bim/pwd
执行权限: 所有用户
语法: pwd
功能描述: 显示当前目录
范例: pwd
目录处理命令: rmdir (小文:视频上是文件处理命令)
命令名称: rmdir
命令英文原意: remove empty directories
命令所在路径: /bin/rmdir
执行权限: 所有用户
语法: rmdir[目录名]
功能描述: 删除空目录
范例: rmdir /tmp/a
目录处理命令: cp
命令名称: cp
命令英文原意: copy
命令所在路径: /bin/cp
执行权限: 所有用户
语法:cp -rp [原文件或目录][目标目录]
-r 复制目录
-p 保留文件属性
功能描述: 复制文件或目录
范例: cp /etc/grub.conf /tmp #复制文件到tmp下
cp /root/install.log /root/install.log.syslog /tmp #复制多个文件到tmp下
cp -r /tmp/a /tmp/b #复制目录a到目录b下
cp -r /tmp/a /tmp/b/a2 #复制目录a到目录b下并改名为a2
cp -rp /tmp/a /tmp/c #复制目录a到目录c下并保持目录属性
目录处理命令: mv
命令名称: mv
命令英文原意: move
命令所在路径: /bin/mv
执行权限: 所有用户
语法: mv [原文件或目录] [目标目录]
功能描述: 剪切(移动)文件、改名
范例: mv /tmp/a /tmp/b
目录处理命令: rm
命令名称: rm
命令英文原意: remove
命令所在路径: /bin/rm
执行权限: 所有用户
语法: rm -rf [文件或目录]
-r 删除目录
-f 强制执行
功能描述: 删除文件
目录处理命令: mv
命令名称: mv
命令英文原意: move
命令所在路径: /bin/mv
执行权限: 所有用户
语法: mv [原文件或目录] [目标目录]
功能描述: 剪切(移动)文件、改名
范例: mv /tmp/a /tmp/b
总结:
mkdir -p cd pwd rmdir cp -r -p rv rm -r -f
目录处理命令: touch
命令名称: touch
命令英文原意:
命令所在路径: /bin/touch
执行权限: 所有用户
语法: touch [文件名]
功能描述: 创建空文件
范例: touch a.list
若需要创建带空格的文件名,用引号即可。在Linux中除了斜杠/不能做名称外其他都可以。但不推荐。
文件处理命令: cat
命令名称: cat
命令英文原意:
命令所在路径: /bin/cat
执行权限: 所有用户
语法: cat [文件名]
功能描述: 显示文件内容
-n 显示行号
范例: cat /etc/issue
cat -n /etc/issue
文件处理命令: tac
命令名称: tac
命令英文原意:
命令所在路径: /usr/bin/tac
执行权限: 所有用户
语法: tac [文件名]
功能描述: 显示文件内容(反向列示)
范例: tac /etc/issue
文件处理命令: more
命令名称: more
命令英文原意:
命令所在路径: /bin/more
执行权限: 所有用户
语法: more [文件名]
(空格)或f 翻页
(回车) 换行
q或Q 退出
功能描述: 分布显示文件内容
范例: more /etc/services
文件处理命令: less
命令名称: less
命令英文原意:
命令所在路径: /usr/bin/less
执行权限: 所有用户
语法: less [文件名]
功能描述: 显示文件内容(可向上翻页)
/关键词 查找关键词
范例: less /etc/services
文件处理命令: head
命令名称: head
命令英文原意:
命令所在路径: /usr/bin/head
执行权限: 所有用户
语法: head [文件名]
功能描述: 显示文件前面几行
范例: head -n 20 /etc/services 显示文件前20行,或不加选项,默认为10行。
文件处理命令: tail
命令名称: tail
命令英文原意:
命令所在路径: /usr/bin/tail
执行权限: 所有用户
语法: tail [文件名]
功能描述: 显示文件最后几行
-n 指定行数
-f 动态显示后几行变化
范例: tail -n 20 /etc/services
总结:
touch cat -n tac more less head -n tail -n -f
文件处理命令: ln
命令名称: ln
命令英文原意: link
命令所在路径: /bin/ln
执行权限: 所有用户
语法: ln -s [原文件] [目标文件]
-s 创建软连接
功能描述: 生成链接文件
范例:
#创建文件 /etc/issue 的软链接 /tmp/issue.soft
[[email protected] ~]# ln -s /etc/issue /tmp/issue.soft
#创建文件 /etc/issue 的硬链接 /tmp/issue.hard
[[email protected] ~]# ln /etc/issue /tmp/issue.herd
#查看原文件信息
[[email protected] ~]# ls -l /etc/issue
131148 -rw-r--r--. 2 root root 47 6月 26 2012 /etc/issue
#查看软链接信息
[[email protected] ~]# ls -l /tmp/issue.soft
19 lrwxrwxrwx. 1 root root 10 9月 28 12:16 /tmp/issue.soft -> /etc/issue
#查看硬链接信息
[[email protected] ~]# ls -l /tmp/issue.herd
131148 -rw-r--r--. 2 root root 47 6月 26 2012 /tmp/issue.herd
软链接特征:类似windows快捷方式
1、lrwxrwxrwx l软链接,软链接的实际权限实际文件决定,有->对应标识;
硬链接特征:比较像cp -p + 同步更新,与实际文件实时更新(文件ID与原文件相同),但无->对应指向,不能跨分区,不支持目录。
建立硬链接后,修改原文件硬链接也会同步修改,但删除原文件却不影响硬链接。
硬链接的文件ID与原文件相同,所以能同步改变。
在实际应用中硬链接并不多用,在多个用户同时修改一个文件时可用。