4
参考资料:http://www.icourse163.org/course/NBCC-437004?tid=1002059033
1、 linux两种版本:内核版本、发行版本
2、 机器中第一块硬盘:sda,第二块硬盘:sdb,第三块sdc,其他硬盘依次类推
3、 硬盘里的分区,最多能分成4个主分区,可以有一个被划分为逻辑分区。以sda硬盘为例,第一个分区sda1,第二个sda2,…;第一个逻辑分区sda5,第二个sda2,…
1、 alauda@10:~/zcy
用户名 主机名 工作目录
2、 nano(文本编辑工具) 保存:ctrl+o ,填入文件名+回车;查看nano帮助:ctrl+G;退出帮助ctrl+x;退出nano:ctrl+x
3、 使用帮忙:man who,查看帮助时可以使用上下箭头滚动好看,pageup,pagedown翻页,还支持斜杠“/”进行查找
4、 关机:shutdown –h 10 表示10分钟之后关机;shutdown –h 00:00 表示在今天午夜关机 shutdown –h now 表示立即关机
Showdown –h 后面除了加时间还可以加上字符串,描述为啥关机等信息
取消关机:ctrl+c 或者 shutdown –c
5、 重启:shutdown –r ;使用方法类似shutdown -h
1、 切到ubuntu的家目录:cd ~ubuntu
2 、创建嵌套目录加-p参数:mkdir –p /temp/level0/level01/level02/
查看文件的inode num: ls -il
强烈禁止给目录创建硬链接,会造成死循环;可以给任意文件创建符号连接
硬链接:链接文件和原文件实际上是同一个文件。
软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件
软链接可以对目录进行连接,硬链接不可以
不能跨分区创建硬链接,因为iNode-num在多个分区不唯一,只在一个分区是唯一的
创建符合连接 ln -s ;创建硬链接 ln ; 链接就是个快捷方式
删除原文件,软连接就不能用了,但硬链接还能用
linux中通过文件名/连接 找到node num,再通过这个num找到数据
若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名
软链接就是一个普通文件,只是数据块内容是另一文件的路径名的指向,软链接有着自己的 inode 号以及用户数据块
硬链接与源文件共用一个iNode num;软链接则有自己的inodenum
1、 Cp可以同时拷贝多个文件,文件名用空格隔开即可;拷贝文件夹时,需要增加-r参数,如cp –r myfold ~
2、 拷贝,若有同名文件则覆盖,不要询问:cp –f temp1 ~
3、 拷贝时不修改文件属性:cp –p temp1 ~
4、touch已存在文件时,会修改文件的修改时间
1、 tar-cf是不会压缩文件的,只打包;为了压缩,要加-z参数,tar -czf
2、 Gzip只压缩,不打包
按文件类型查找:
按文件时间查找:
查找三天内文件内容发生过变化的文件
查找10分钟前发生过变化的文件
按文件大小查找:find ./ -size +3M -ls 查找大于3M的文件;
find ./ -size +3k 查找小于3k的文件
根据文件的拥有者,拥有者组查找:find ./ -user root
根据权限查找文件:find ./ -perm 777
多个查询条件,需要圆括号括起来,还要有空格
将查找的文件删除:-exec
exec与xargs区别
1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 ; 作为命令的结束符,书写不便。
3、xargs 不能操作文件名有空格的文件;
综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,
那么使用 xargs比较方便; 否则,就要用 exec了
常用通配符:* ? [] {} ! ,!常和[ ] { }连用
cat只适合查看小文件
大文件查看一般用less (可以滚动,翻页、查找,退出是q )
head -n 20 aa.txt 查看前20行,tail -n 20 aa.txt 查看后20行 tail还有个-f参数,查看文件的新增内容
创建符合连接 ln -s ;创建硬链接 ln ; 链接就是个快捷方式
标准输入的描述符是0,输出是1,错误输出是2
重定向标准错误输出: ls -l sdf 2>>myerror
丢弃错误输出 :ls -l sdf 2>>/dev/null /dev/null 是一个特殊文件,写入此文件的内容都会被丢弃
标准输入重定向:<<
切割文本 cut
文本统计:wc ,统计行数 -l,单词数 -w,字节数
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
如统计当前目录下文件夹个数:
ls -l |cut -c 1 | grep d |wc -l
错误会影响管道输出,若想忽略错误,可以重定向标准错误输出:
管理员用户只有一个,就是root
一个用户可以属于多个用户组,可以通过id 用户名 查看用户的更多信息,或者finger + 用户名
切换用户:su -l root (switch user,-l 的意思是切换运行环境,-l选项可以省略成一个 -)
只有跟用户才可以创建新用户,给其他用户设置密码
add用户时,设置用户的id,用户组,家目录等信息
修改用户用usermod,在用户登录的情况下是无法修改用户名和uid的, -u 修改用户id -l 修改用户名
删除用户 userdel ,如 userdel zcy ,则zcy用户被删除了,但zcy用户的根目录还在,需要手动删除;userdel -r zcy,则会删除用户及其家目录
创建用户组:groupadd ,只有root才可以创建组;修改用户组groupmod ;删除用户组 groupdel,若有用户将该用户组当做主用户组,就无法删除此用户组
sudo :无需跟用户密码也能分享跟用户权限:sudo -u root 命令,其中 -u root 可省略
可以通过修改/etc/sudoers,使可以sudo到其他用户
/etc/passwd 文件里存了所有的用户名,/etc/group里存放了所有用户组的信息
查看/dev/sda的磁盘信息,及其上面的分区信息:fdisk -l /dev/sda
只有root才可以进行挂载
可用通过mount查看挂载情况
当访问挂载在分区的目录和文件时,是不能卸载分区(unmount)的
unmount + 设备名/挂载点 实现卸载
以太网接口:eth0 eth1 eth2 ....; lo是回环接口
修改eth1的ip地址和MTU;用ifconfig进行的修改在重启后就没了
判断DNS服务器是否能连接上,用dig: 如 dig www.nbcc.cn,返回如下内容表示DNS服务可用;若不可用,则要检查1 DNS地址是否设置正确;2 防火墙的配置;3向管理员确认DNS服务器是否运行正常
网络设置完后,需要重启网络:service network restart
默认网关只能有一个
修改主机名涉及两个文件,修改后需要重启系统,因为很多服务都用到了 主机名
默认情况下网络是用的 DHCP 进行配置的
若想指定ip等信息,需要按如下修改
yum安装软件包:只有root才可安装更新,其他用户只能查看
yum clean all :删除本地yum的缓存信息
yum makecash:把yum服务器上软件包的信息缓存到本地
yum install 软件包名:如 yum install gcc-c++
查询软件包是否已安装:yum list gcc-c++
yum list installed :列出所有安装的包
yum list available :列出可安装的软件包
yum info 包名:查看软件包的信息
yum update 包名:更新软件包
yum remove 包名:卸载软件包
ps -Af 查看所有进程的详细信息
进程相关信息详见此书的第11章
top查看进程状态:
PID:进程id;USER:进程发起者;PR:进程优先级;NI:nice值;VIRT:表示进程使用的虚拟内存总量,单位kb
RES:进程使用的,未被换出的物理内存使用大小,单位kb;SHR:表示共享内存大小,单位kb;S:表示进程运行状态
%CPU:CPU时间占用百分比;%MEM:进程使用的物理内存百分比
COMMAND:产生进程的命令名称
默认按CPU占用量排序;键入M,则按内存降序排列;键入N,按进程PID降序排序;键入P,按CPU降序排序;键入R,在当前基础上反序排序;敲q退出top
也可通过shift+箭头> <,调整按哪个关键字排序
top -d 3 #每隔3秒刷新一次
进入top后,输入小写b可以高亮运行状态(R)的进程,然后输入小写x可以高亮排序列
进入top后,输入1可以查看每隔逻辑CPU的状态
逻辑CPU = 物理CPU数量 * CPU核数,top中的平均负载除以逻辑CPU数,结果高于5的时候就表明系统在超负荷运转了
按shift+> 或shift+< 来改变排序列
输入大写P:以CPU的使用资源排序显示
输入大写M:以内存的使用资源排序显示
输入大写N:以pid排序显示
输入大写T:由进程使用的时间累计排序显示
输入大写R:逆序显示
kill -l 可以查看kill可以发出哪些信号:
kill默认向进程发送的是15(SIGTERM),有的进程会忽略15信号,为了杀死这种进程只能使用9信号
pkill允许根据进程的属性杀死进程
如下是根据进程名杀死进程和根据进程拥有者批量杀死进程
xkill是图像界面的kill
可以通过service管理系统服务
可以通过chkconfig实现开机自启动
0~6是运行级别
秘钥登录:
1 将/etc/ssh/sshd_config 中的PasswordAuthentication属性值设为no [禁止密码登录]
2 生成秘钥(若已用户a的身份生成的秘钥,则远程登录时,输入的用户名就是a) ssh-keygen -t rsa
3 将公钥放到a用户指定的公钥文件中,默认是~/.ssh(家目录下的)目录中的authorized_keys文件中,放入后,将原公钥文件及时删除
4 用户通过私钥就可以远程登录主机了