转自: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最多可以有三个,只要有一个生效即可

【Linux】Linux基本命令扫盲【转】的更多相关文章

  1. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  2. 第四周博客之一---Linux的基本命令(前5个)

    一.Linux的系统结构 "/"根目录部分有以下子目录: 1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用. 2./boot:用于自举加载程序(LILO ...

  3. Linux 的基本命令

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E……盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  4. Linux常用基本命令(less)

    转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...

  5. Linux 常用基本命令及应用技巧

    需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...

  6. Linux操作系统-基本命令(二)

    Linux操作系统基本命令 文件操作类命令 – ln命令 另外一种链接方式称为符号链接(软链接),是指一个文件指向另外一个文件的文件名.软链接类似于Windows系统中的快捷方式.软链接由ln -s命 ...

  7. Linux文件基本命令

    Linux文件基本命令学习 操作技巧: 输入文件/目录/命令的前几个字母之后,按下tab键,则自动补全 按上/下,回滚曾经用过的命令 不想执行命令使用:crtl + c 基础命令: ls(查看) 基础 ...

  8. Linux常用基本命令( ls, alias)

    ls命令 作用:列举目录文件信息( list directory content ) 格式:ls [option] [file] 1,命令不跟任何选项与目录,表示列举当前目录的文件信息 ghostwu ...

  9. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  10. [Linux]Linux下redis的安装及配置.

    在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...

随机推荐

  1. Chrome神器Vimium快捷键学习记录

    今天下午折腾了一下Chrome下面的一个插件Vimium的使用,顿时发现该插件功能强大,能够满足减少鼠标的使用.至于为何要使用这个插件,源于我手腕上的伤一直没有好,使用鼠标的时候有轻微的疼痛.而且,由 ...

  2. BZOJ5308 ZJOI2018胖

    贝尔福特曼(?)的方式相当于每次将所有与源点直接相连的点的影响区域向两边各扩展一格.显然每个点在过程中最多更新其他点一次且这些点构成一段连续区间.这个东西二分st表查一下就可以了.注意某一轮中两点都更 ...

  3. winrar 授权破解过期解决

    RAR registration data Federal Agency for Education 1000000 PC usage license UID=b621cca9a84bc5deffbf ...

  4. 【题解】JSOI2009球队收益 / 球队预算

    为什么大家都不写把输的场次增加的呢?我一定要让大家知道,这并没有什么关系~所以 \(C[i] <= D[i]\) 的条件就是来卖萌哒?? #include <bits/stdc++.h&g ...

  5. USACO Section 1.5 Superprime Rib 解题报告

    题目 题目描述 超级素数的定义如下:如果有个素数我们从右往左依次去掉一位数,每次去掉一位数剩下的数仍然是素数,那么我们称这个数是超级素数.例如7331,这是一个素数,从右往左依次去掉一位数733, 7 ...

  6. 使用rundll32.exe绕过应用程序白名单(多种方法)

    0x00 前言 本文演示了白名单AppLocker bypass的最常见和最熟悉的技术.我们知道,出于安全原因,系统管理员添加组策略来限制本地用户的应用程序执行.在上一篇文章中,我们讨论了“ Wind ...

  7. java多线程 -- 原子量 变量 CAS

    多线程原子性问题的产生和解决 原子变量:在 java.util.concurrent.atomic 包下提供了一些原子变量. 1. volatile 保证内存可见性,可以查看atomic中变量是使用v ...

  8. 解题:CQOI 2017 小Q的棋盘

    题面 由树的结构我们可以知道,最终要么是连一条(最长的)链都没走完,要么是走了一些点最后走了最长的链.为什么总是说最长的链呢,因为在树上这样走的过程中(最后不要求返回的话)除了一条链都会被走两次,显然 ...

  9. (转)Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web mod

    背景:在sts中导入web项目,却不能通过sts中的tomcat来加载该服务,并报出如下错误. “Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4 ...

  10. 4:JAVA UUID 生成

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...