zoukankan      html  css  js  c++  java
  • linux学习笔记1

    参考资料: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 用户通过私钥就可以远程登录主机了

  • 相关阅读:
    【BZOJ 2124】【CodeVS 1283】等差子序列
    【BZOJ 1036】【ZJOI 2008】树的统计Count
    【BZOJ 1901】【ZJU 2112】Dynamic Rankings
    【BZOJ 3924】【ZJOI 2015】幻想乡战略游戏
    【BZOJ 4103】【THUSC 2015】异或运算
    【BZOJ 4513】【SDOI 2016】储能表
    【HDU 3622】Bomb Game
    【BZOJ 3166】【HEOI 2013】Alo
    【BZOJ 3530】【SDOI 2014】数数
    【BZOJ 4567】【SCOI 2016】背单词
  • 原文地址:https://www.cnblogs.com/testzcy/p/9501209.html
Copyright © 2011-2022 走看看