zoukankan      html  css  js  c++  java
  • Linux基础

    Linux文件目录结构

    Bin:该目录存储二进制文件,文件都是可以被运行的

    Dev:该目录中主要存放外接设备。在其中的外接设备是不能直接使用的,需要挂载

    Etc:该目录主要存储一些配置文件

    Home:表示除了root用户以外其他用户的家目录,类似于window下的User/用户目录

    Proc:process,该目录主要存储的是Linux运行时候的进程

    Root:该目录是root用户自己的家目录

    Sbin:super binary,该目录存放一些可以执行的二进制文件,但是必须要有super权限的用户才能执行

    Tmp:当系统运行时产生的临时文件会在这个目录存着

    Usr:存放用户自己安装的软件

    Var:存放的程序/系统的日志文件的目录

    Mnt:当外接设备需要挂载时,就需要挂载到Mnt目录下

    路径:

    相对路径:../【上一级目录下】

    绝对路径:从根“/”开始寻找对应路径

    Linux的基本指令

    Linux 通用的格式: #指令主体 [选项] [操作对象],一个指令只能包含一个指令主体,可以包含多个选项,多个操作对象

    1、 ls(list):列出当前工作目录下的所有文件和文件夹名称

    常用选项

    // -l:表示以详细列表得形式进行展示

    //-a:表示显示所有得文件/文件夹(包括隐藏文件/文件夹【一般以“.”开头】)

    //-h:在显示文档大小时以可读性较高的形式显示

    2、 pwd(print working directory):打印当前工作目录(绝对路径)

    3、 cd(change directory):用于切换当前工作目录

    4、 mkdir (make directory):创建目录【路径可以是直接的文件名也可以是路径】

    mkdir /root/yu    //在root目录下创建一个叫yu的文件夹

    //-p:一次创建多层不存在的目录

    5、 touch:创建文件  【路径可以是直接的文件名也可以是路径】

    6、 cp(copy):复制文件/文件夹到指定位置

    cp 被复制的文档路径 文档被复制到的路径

    //-r:复制目录,表示递归复制

    7、 mv(move):移动文档到新的位置,类似剪切

     mv 需要移动的文档路径 需要保存的位置路径

    //重命名也用mv

    8、 rm(remove)移除,删除

    //-f:强制删除,不提示

    //-r:删除目录

    //*表示通配符,意思表示任意的字符,Linux*则表示只要文件以linux开头,后续字符则不管。

    9、 vim:文本编辑器

    10、输出重定向:将一些命令的执行结果保存到文件中进行后续的分析

    //>:覆盖输出

    //>>:追加输出

    11、cat:直接打开文件/对文件进行合并

    cat 待合并的文件路径  待合并的文件路径2 ……待合并的文件n > 合并之后的文件路径

    进阶指令

    1、 df:查看磁盘空间

    // -h:可读性较高的形式展示大小

    2、 free:查看内存情况

    //-m:表示以mb为单位查看

    3、 head:查看一个文件的前n行,如果不指定n,默认显示前10行

    4、 tail:查看一个文件末n行,如果不指定,默认显示后10行

    //-f:动态显示文件后n行

    5、 less:查看文件,以较少的内容进行输出

    6、 wc:统计文件内容信息

    //-l:行数

    //-w:字数

    //c:字节数

    VIM

    #vim 文件路径   //打开指定文件
    
    #vim +数字 文件的路径  //打开指定的文件,并且将光标移动到指定行
    
    #vim +/关键词 文件路径 //打开指定的文件,并且高亮显示关键词

    命令模式

    1、 光标移动

    光标移动到行首 :shift+6

    光标移动到行尾 :shift+4或$

    光标移动到首行 :gg

    光标移动到末行 :G

    向上翻屏 :ctrl+b

    向下翻屏:ctrl+f

    2、 复制操作

    复制光标所在行 yy

    粘贴:p

    撤销:u

    3、 搜索

    # /关键词

    在搜索结果中切换上/下个结果:N/n

    4、 替换

    :s/搜索的关键词/新的内容    //替换所在光标行的第一个内容
    
    :s/搜索的关键词/新的内容/g    //替换所在光标行的所有内容
    
    :%s/搜索的关键词/新的内容/g    //替换整个文档的内容

    lsof

      lsof (List Open Files)是 linux 下的一个非常实用的系统级的监控、诊断工具。Linux下一切皆文件,可以用lsof获取任何被打开文件的信息

    1、查看文件、设备被哪些进程占用

    1    $ lsof /dev/tty1
    2    COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    3    bash       1770 jian    0u   CHR    4,1      0t0 1045 /dev/tty1
    4    bash       1770 jian    1u   CHR    4,1      0t0 1045 /dev/tty1
    5    bash       1770 jian    2u   CHR    4,1      0t0 1045 /dev/tty1
    6    bash       1770 jian  255u   CHR    4,1      0t0 1045 /dev/tty1
    7    startx     1845 jian    0u   CHR    4,1      0t0 1045 /dev/tty1
    8    startx     1845 jian    1u   CHR    4,1      0t0 1045 /dev/tty1
    9    ...

    2、指定目录、挂载点,查看哪些进程打开了其下的文件

    1    $ lsof /data/
    2    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    3    bash    15983 jian  cwd    DIR    8,5     4096 8252 /data/backup
    4    ...

    3、列出某个目录下被打开的文件

    1     $ lsof +D /var/log/
    2     
    3    COMMAND   PID   USER  FD   TYPE DEVICE SIZE/OFF   NODE NAME
    4    rsyslogd  488 syslog   1w   REG    8,1     1151 268940 /var/log/syslog
    5    rsyslogd  488 syslog   2w   REG    8,1     2405 269616 /var/log/auth.log
    6    console-k 144   root   9w   REG    8,1    10871 269369 /var/log/ConsoleKit/history

    4、列出被指定进程名打开的文件

    01    $ lsof -c ssh -c init
    02     
    03    COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
    04    init         1       root  txt    REG        8,1   124704  917562 /sbin/init
    05    init         1       root  mem    REG        8,1  1434180 1442625 /lib/i386-linux-gnu/libc-2.13.so
    06    init         1       root  mem    REG        8,1    30684 1442694 /lib/i386-linux-gnu/librt-2.13.so
    07    ...
    08    ssh-agent 1528 lakshmanan    1u   CHR        1,3      0t0    4369 /dev/null
    09    ssh-agent 1528 lakshmanan    2u   CHR        1,3      0t0    4369 /dev/null
    10    ssh-agent 1528 lakshmanan    3u  unix 0xdf70e240      0t0   10464 /tmp/ssh-sUymKXxw1495/agent.1495

    5、指定进程号,查看该进程打开的文件

    01    $ lsof -p 2064
    02    COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAME
    03    firefox 2064 jian  cwd    DIR        8,6     4096 1571780 /home/jian
    04    firefox 2064 jian  rtd    DIR        8,6     4096       2 /
    05    firefox 2064 jian  txt    REG        8,6    44224 1985670 /usr/lib/firefox-12.0/firefox
    06    firefox 2064 jian  mem    REG        8,6 14707012  925361 /usr/share/fonts/chinese/msyhbd.ttf
    07    firefox 2064 jian  mem    REG        8,6 15067744  925362 /usr/share/fonts/chinese/msyh.ttf
    08    firefox 2064 jian  mem    REG        8,6 16791251 1701681 /usr/share/fonts/wenquanyi/wqy-zenhei.ttc
    09    firefox 2064 jian  mem    REG       0,16 67108904   10203 /dev/shm/pulse-shm-3021850167
    10    ...

    6、查看指定端口有哪些进程在使用

    1    $ lsof -i:22
    2    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    3    sshd    1569 root    3u  IPv4  10303      0t0  TCP *:ssh (LISTEN)
    4    sshd    1569 root    4u  IPv6  10305      0t0  TCP *:ssh (LISTEN)
    5    ...

    7、查看指定应用程序打开的文件

    1    $ lsof -c firefox
    2    COMMAND  PID USER   FD   TYPE     DEVICE SIZE/OFF    NODE NAME
    3    firefox 2064 jian  cwd    DIR        8,6     4096 1571780 /home/jian
    4    firefox 2064 jian  rtd    DIR        8,6     4096       2 /
    5    firefox 2064 jian  txt    REG        8,6    44224 1985670 /usr/lib/firefox-12.0/firefox
    6    firefox 2064 jian  mem    REG        8,6 14707012  925361 /usr/share/fonts/chinese/msyhbd.ttf
    7    firefox 2064 jian  mem    REG        8,6 15067744  925362 /usr/share/fonts/chinese/msyh.ttf
    8    firefox 2064 jian  mem    REG        8,6 16791251 1701681 /usr/share/fonts/wenquanyi/wqy-zenhei.ttc
    9    ...

    PS

      PS(process status)用来列出系统中当前运行的那些进程

      linux上进程有5种状态: 
        1. 运行(正在运行或在运行队列中等待) 
        2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 
        3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 
        4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 
        5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 
      ps工具标识进程的5种状态码: 
        D 不可中断 uninterruptible sleep (usually IO) 
        R 运行 runnable (on run queue) 
        S 中断 sleeping 
        T 停止 traced or stopped 
        Z 僵死 a defunct (”zombie”) process 

      推荐使用命令 ps –ef 

    root@R740-2-3:~# ps -ef
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 9月12 ?       00:44:16 /sbin/init splash
    root         2     0  0 9月12 ?       00:00:05 [kthreadd]
    root         4     2  0 9月12 ?       00:00:00 [kworker/0:0H]
    root         6     2  0 9月12 ?       00:00:00 [mm_percpu_wq]
    root         7     2  0 9月12 ?       00:15:15 [ksoftirqd/0]
    root         8     2  0 9月12 ?       02:42:25 [rcu_sched]
    root         9     2  0 9月12 ?       00:00:00 [rcu_bh]
    root        10     2  0 9月12 ?       00:00:29 [migration/0]
    root        11     2  0 9月12 ?       00:00:17 [watchdog/0]

    压缩与解压缩

     zip命令

    $zip -r myfile.zip 
    // 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
    
    $unzip -o -d /home/sunny myfile.zip
    // 把myfile.zip文件解压到 /home/sunny/
    // -o:不提示的情况下覆盖文件;
    // -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

     tar命令

    $tar –cvf jpg.tar *.jpg 
    //将目录里所有jpg文件打包成jpg.tar
    
    $tar –czf jpg.tar.gz *.jpg 
    //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
    
    $tar –xvf file.tar 
    //解压 tar包
    
    $tar -xzvf file.tar.gz
     //解压tar.gz
  • 相关阅读:
    Levmar 配置
    函数前加static与不加static的区别
    关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决
    Latex 算法Algorithm
    matlab 曲线拟合
    生成eps图形
    libSVM在matlab下的使用安装
    spring 事务管理笔记
    集合框架
    小程序 滑动弹窗阻止主页面滑动
  • 原文地址:https://www.cnblogs.com/yuxiaoba/p/9382326.html
Copyright © 2011-2022 走看看