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

  • 相关阅读:
    centos7内存处理
    MySQl分析工具之mysqltuner.pl及mysqlslap
    Mycat-web 安装
    【NOI2001】【Luogu P2704】【POJ1185】炮兵阵地
    【OpenJudge 7834】分成互质组
    Assignment(单调队列)
    OO’s Sequence
    【注意】邻接表
    20190405模拟测试
    【USACO2010open】时间旅行
  • 原文地址:https://www.cnblogs.com/testzcy/p/9501209.html
Copyright © 2011-2022 走看看