天天看点

【Linux】Linux基本命令扫盲【转】

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定位到每行的末尾:[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 代码行补全

1、安装软件(取软件下载包所在的目录执行):

     dpkg -i  xxxx.deb

2、卸载软件:

     dpkg -r  xxxx

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、测试网络

    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/  #卸载

     UID #用户ID 

     GID #组ID

     CUID #创建者的用户ID

     CGID #创建者的组ID

     EID #有效用户ID

    adduser zhangsan #添加用户

    deluser zhangsan #删除用户

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

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

本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5066570.html,如需转载请自行联系原作者

继续阅读