zoukankan      html  css  js  c++  java
  • 【Linux】Linux基本命令扫盲【转】

    转自:http://www.cnblogs.com/lcw/p/3762927.html

    【VI使用】

    1、在命令行模式
         :在vi编辑器中将光标放在函数上,shift + k 可直接man手册,退出man手册直接按两次q
         :直接 gg=G 可以使文件自动对齐
         :gg 定位到文件的开头,G定位到文件的末尾
         :M 定位到文件的中间,H 最上面一行,L 屏幕最下面一行,G 文章末尾一行
         :shift+ctrl+n 打开一个新的终端
         :[5]yy 复制光标以下5行,p粘贴
         : yw 复制一个单词
         :0 定位到每行的开头,不进入输入模式,$ 定位到每行的末尾
         :[n]dd 剪贴n行,p粘贴
         : dG 删除光标后的所有内容
         :dw 删除1个单词
         : D 删除当前行光标后面的部分
         :d0/d^ 删至行首,d$ 删至行尾
         : v 撤销,. 重复
         :!command 执行shell使命
         : r !command 将shell命令的执行结果保存到文件
         : nr !command 将shell命令的执行结果保存到第n行

    2、在底行模式下:
         : x  保存退出
         : new 打开一个新的终端
         : read 1.txt 将1.txt 也读入到该文件中
         : %! sudo tee % > /dev/null 当权限不够时可强制保存
         : 45 可将光标定位到第45行
         : w 1.txt 将文件另存为1.c文件
         : sp 1.txt  将1.txt在同一终端中同时打开(横向)
         : vsp/vs 1.txt 同上(纵向)
    3、在shell命令行:
         :ctrl+a 定位到命令的开头,ctrl+e 定位到命令行的末尾
         : vi 1.txt +45 打开文件并定位到第45行
         :ctrl+l:直接进行清屏(和clear一样)
    4、块选择:
         ctrl+v 然后操作方向键
    5、替换
         : s/m/n/g 将光标所在行的 m 替换为 n 
         : %s/m/n/g 全部替换
    6、快速编辑代码
         ctrl + n / ctrl + p 变量、函数快速补全
         ctrl + x + l 代码行补全

    【dpkg工具(本地安装)】

    1、安装软件(取软件下载包所在的目录执行):
         dpkg -i  xxxx.deb
    2、卸载软件:
         dpkg -r  xxxx

    【apt工具(远程下载)】

    1、重要目录和文件:
         /var/cache/apt/archives :该目录存放已经下载过的deb软件包
         /etc/apt/source.list :镜像源网址
    2、安装软件:
         1: 更新镜像源: apt-get update
         2: 安装软件包: apt-get install g++
    3、重新安装:
         apt-get install --reinstall g++ 
    4、卸载软件:
         apt-get remove 软件包名字
    5、软件升级:
         apt-get upgrade --->将系统中所有的软件升级到最新版本(如果网速慢的话,需要很长的时间,慎用)
    6、删除下载软件包:
         apt-get clean --->将/var/cache/apt/archives目录中所有下载过的软件包删除

    【网络配置】


    1、网络配置
         目录:/etc/network/interfaces
         配置:address/gateway/netmask
    2、DNS配置
         目录:/etc/resolv.conf
         配置:nameserver
    3、重启网络
         /etc/init.d/networking restart
    4、测试网络
         ping www.baidu.com

    【shell】

        shell是一个命令行解释器,负责将命令解释成内核可以识别的东西,目前我们使用bash
        vi /etc/shells  #查看系统中支持哪些shell
        cd ~  #切换到用户主目录
        ls -al #详细实现当前目录中的文件内容
        ls -al;cd / #在一行中输入多个命令,中间加分号
        cd - #回到上一次所在目录
        alias myls='ls -al'  #将ls -al 命令定义一个别名myls
        unalias myls 取消别名
        cp ./*.c 123  #将当前目录中所有的.c文件拷贝到123目录
        cp ./* 123 #将当前目录中所有的文件拷贝到123目录
        ls -al | grep txt #使用管道来查找当前目录中的txt文件
        ls -al > 1.txt #将ls -al 命令的输出内容写入1.txt文件(>> 追加的方式)
        wc -w < 1.txt  #将1.txt作为wc命令的输入源,统计单词个数(dup,dup2)
        ls `pwd` #将pwd命令的输出作为ls命令的参数,(``为反引号)
        man 2/3 commands # 2:系统调用 3:库函数
        ls --help #查看ls命令的帮助信息
        info ls  #查看ls程序的帮助页
        sync #保证内存中的缓冲数据,动态实时的写入磁盘文件
        sudo su #只切换用户,不切换shell(用户目录)
        sudo su - #用户和目录都切换
        env #查看系统中所有的环境变量
        echo $HOME #查看环境变量HOME的值
        mount /dev/cdrom /mnt/  #将dev下的光盘cdrom挂载到mnt目录下
        umout /mnt/  #卸载

    【用户ID】


         UID #用户ID 
         GID #组ID
         CUID #创建者的用户ID
         CGID #创建者的组ID
         EID #有效用户ID

        adduser zhangsan #添加用户
        deluser zhangsan #删除用户
        deluser  --remove-home  user1  #删除用户user1的同时删除用户的工作目录 

    【PS】

        ps #查看当前终端运行进程,前台进程(相对应的是守护进程)
        ps -aux #查看系统中所有运行的进程(进程表)
    1、进程的状态(STAT):
       S:睡眠
       R:运行
       T:停止
       Z: 僵尸进程
       N:低优先级进程
       s: 会话的发起者
       l:包含线程的进程
       <: 高优先级进程
       +:前台进程
       []:系统级进程
        ps -ef #同时可以查看系统中进程的父进程ID(PPID)
        ps -el #可显示所有进程的优先级
        top #动态查看系统进程的状态
    2、进程的优先级(-20~19):-20最高,19最低,默认为0
        sudo nice --5 ./hello #将hello运行时的优先级设为-5
        sudo renice -5 19807 #将一个正在运行的进程(PID 为19807)的进程的优先级修改为-5
        kill -l #显示系统中所有的信号    #define SIGKILL 9
        kill -SIGKILL(或-9) 1152  #给pid为1152的进程发送SIGKILL信号,杀死它

    【ls】

        ls -al
    1、文件类型:
         -:普通文件(文本文件、二进制文件)
         l:链接文件(软连接)
         d:目录文件
         p:管道文件
         c:字符设备文件(键盘,鼠标)
         b:块设备(硬盘、Flash)
         s:套接字文件(socket)
    2、文件的权限:
         r(4) w(2) x(1)    r  -  x       -  w  x 
         所属用户          所属用户组    其他用户

        cd ../../  :回到上上一级目录
        cd ~       :回到家目录
        touch 1.c 2.c 3.c :同时创建多个文件(一个普通文件被创建时,没有可执行权限,默认权限为0644:0666-umask)
        mv file_old.c file_new.c  : 实现文件的重命名
        rm 1_day/ -fr  :强制删除目录
        rm ./* -fr   :清空当前目录
        cp  –r  dir1/  dir2:复制目录
        mkdir  –p  dir1/dir2/dir3 :目录的嵌套创建 
        rmdir dir1 -p :删除目录下所有的子目录
        head -8 pai.c :显示文件的前8行
        tail -8 pai.c :显示文件的后8行

        ln -s pai.c 1:给文件pai.c创建一个软连接1,相当于快捷方式(将pai.c删除,则链接出错,再重新建立pai.c,又可生效)
        ln pai.c 1:给文件创建一个硬链接1, 将pai.c删除之后,不会影响1对源文件的访问(pai.c和1共享文件的i节点)

    【压缩和解压】

    1、zip格式:
        zip  -r dir.zip  dir/  :将目录进行压缩
        unzip dir.zip  :解压
    2、gz格式:
        gzip 1.c :gzip只能一次压缩一个文件,压缩后的名字为源文件名加后缀
        gunzip  1.c.gz:解压

        tar  –cf   myExamples.tar      myExamples :只归档,不压缩           =》  tar  –xvf   myExamples.tar
        tar  -cjf   myExamples.tar.bz/bz2   myExamples :采用bzip2格式压缩   =》  tar  -xvjf   myExamples.tar.bz
        tar  -czf  myExamples.tar.gz    myExamples :采用gzip格式压缩         =》 tar  -xvzf  myExamples.tar.gz


    【修改主机名】

        hostname myubuntu :临时修改,重启后恢复
        vi /etc/hostname :永久生效; 修改主机名之后,要修改文件/etc/hosts,使新的主机名有相对应的ip(一般为回环地址:127.0.0.1)

        DNS:修改文件/etc/resolv.conf 该文件设置的DNS最多可以有三个,只要有一个生效即可

  • 相关阅读:
    CF432D Prefixes and Suffixes
    CF126B Password
    如何实现输入历史记录功能
    python工作中总结
    今 天看到我十年前的一篇技术文章,想到不知不觉学编程十多年了,,
    现在互联网好多bug 想到都烦
    【图论】割点
    【DP】【P1941】【NOIP2014D1T3】飞扬的小鸟
    【线段树】【P3740】 [HAOI2014]贴海报
    【单调队列】【P1714】 切蛋糕
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5066570.html
Copyright © 2011-2022 走看看