Linux基础操作命令详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asdf_1024/article/details/79042553

一、基本知识

操作系统分类:Windows、Unix、Linux、IOS、Android、Mac OS X;

Linux操作系统的发行版本可以大体分为两类:
一类是商业公司维护的发行版本,以Redhat(RHEL)为代表;
一类是社区组织维护的发行版本,以Debian为代表。

  1. RedHat系列:Redhat、Centos、Fedora等;
  2. Debian系列:Debian、Ubantu等;
    RedHat系列:稳定性方面RHEL和 CentOS的稳定性非常好,适合于服务器使用,使用人群数量大;
    Debian系列:Debian是社区类Linux的典范,对硬件支持非常全面,兼容性好;
    各个系列详细介绍:

二、操作系统及软件

操作系统:ubuntu-16.04.3
下载地址:中文官方网站

远程访问软件:SecureCRT
SecureCRT是Windows下登录UNIX或Linux服务器主机的软件,是一款支持SSH(SSH1和SSH2)的终端仿真程序。
SecureCRT的安装详见

当然,不安装SecureCRT,操作如下命令也是完全没有问题。

如果是在虚拟机里面安装Linux,启动前一定要注意打开下面两个服务,否则将会影响操作系统的联网:这里写图片描述

三、基本命令

  1. ping :查看是否连接到网络,当然可以用任何域名作测试,出现一下情况证明连接到了;
root@ubuntu:~# ping www.baidu.com 
PING 5 (0.0.0.5) 56(124) bytes of data.
64 bytes from 119.75.216.20: icmp_seq=1 ttl=128 time=33.1 ms
64 bytes from 119.75.216.20: icmp_seq=2 ttl=128 time=4.09 ms
64 bytes from 119.75.216.20: icmp_seq=3 ttl=128 time=8.47 ms
  1. ifconfig :查看本机ip(例如192.168.68.130);
root@ubuntu:~# ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:81:1b:61  
          inet addr:192.168.68.130  Bcast:192.168.68.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe81:1b61/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1684 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1766 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:127435 (127.4 KB)  TX bytes:408733 (408.7 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

root@ubuntu:~# 
  1. uname -a :显示电脑以及操作系统的相关信息。

四、文件与目录操作命令

先了解一点基本知识:
Shell提示符标识了命令行的开始。
普通用户以“$”作为shell提示符
根用户以“#”作为提示符
Shell命令提示符格式:
这里写图片描述

username:用户名,显示当前登录用户的账户名;
hostname:主机名,显示登录的主机名;
directon:目录名,显示当前所处的路径,当在根目录下显示为“/”,当在用户主目录下显示为“~”,两者关系:

root用户下,类似于前者是后者的爸爸;

root@ubuntu:/# pwd
/
root@ubuntu:/# cd ~
root@ubuntu:~# pwd
/root

普通用户下,类似于前者是后者的爷爷;

test@ubuntu:/$ pwd
/
test@ubuntu:/$ cd ~
test@ubuntu:~$ pwd
/home/neuedu
  1. ls(英文单词list的简写)
    作用:显示目录内容,该命令类似于DOS下的dir命令。
    格式:ls [选项] [目录或是文件]
    使用说明:
    ls –la : 列出所有文件,包括隐含文件
    ls –dl: 仅查看目录属性
    ls –R: 递归显示子目录的文件
    ls /home/text: 查看/home/text文件信息
    ls –l 分析:
    drwx—— 14 student student 4096 11月 17 16:58 student
    第一个字符表示文件类型,它可以是下述类型之一:
    • 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件

后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,
第二组表示同组用户的权限,
第三组表示其他用户的权限。
每一组的三个字 符分别表示对文件的读、写和执行权限。
各权限如下所示:
r 读 ; w 写 ;x 执行

注意,linux文件系统不是根据后缀来执行文件的,而是根据此文件有没有执行权限。

  1. cd:切换工作目录
    cd的特殊用法:
    cd .. :进入上一级目录
    cd ~ 或者是 cd :进入该用户主目录 ,(root 用户进入/root,其余用户进入/home相应用户)

    1. pwd:显示当前目录
      使用说明:执行pwd指令显示目前所在的工作目录的绝对路径名称。
  2. mv
    作用:移动文件(目录)
    修改文件名(目录名)
    格式:mv [options] 源文件或目录 目标文件或目录
    使用方法:
    mv /usr/text/ * . :将/usr/text中的所有文件移到当前目录(用“.”表示)中:
    mv cjh.txt wjz.txt  :将文件cjh.txt重命名为wjz.txt

  3. cp:复制文件或目录
    语法: cp [选项] 源文件或目录 目标文件或目录
    使用方法:
    —— -a 通常在拷贝目录时使用。保留链接、文件属性,并递归地拷贝目录。
    —— -f 覆盖已经存在的目标文件而不提示。
    —— -R 若给出的源文件是一目录文件,递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

  4. mkdir:创建一个目录
    格式:mkdir [选项] dirname
    使用说明:
    ——要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
    —— -m 对新建目录设置存取权限。也可以用chmod命令设置。
    —— -p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

  5. rm:删除一个文件或目录
    格式:rm [参数] 文件名或目录名
    使用说明:
    —— -r 递归删除,通常跟d结合,删除一个完整目录及其子目录
    —— -i 删除一个文件
    —— -f 不询问,直接删除

  6. rmdir :删除空目录
    格式:rmdir [选项] dirname
    使用说明:
    注意,一个目录被删除之前必须是空的。rm - r命令可代替 rmdir
    —— -p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

  7. file:确定文件类型。
    格式:file 目标文件
    使用说明:
    使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
    最重要是可以查可执行程序是哪一种CPU体系下编译,是静态编译还是动态编译.这是嵌入式编译非常重要;

  8. cat、tac:连接并显示指定的一个和多个文件的有关信息。
    格式:cat/tac[选项]文件1、文件2…
    实例: cat hello.txt
    显示hello.txt 内容
    cat hello1.txt hello2.txt > hello3.txt
    把hello1.txt内容与hello2.txt内容合并,输出到hello3.txt中

  9. more、less :more用于在终端按屏显示文本文件,less同more,区别是在显示文本时,允许用户使用上 下键前后翻阅文件。
    格式:more/less filename
    使用说明:
    通常more和less命令可以借用管道符“|”与其他命令同时使用。
    进入显示状态后,按q或Q键可退出显示状态。
    —— -n,由第一行开始对所有输出的行数编号。
    tac 从最后一行开始显示。

    12 head、tail :head用于显示文本文件的前几行。tail用于显示文 本文件的后几行。
    格式:head [-num] filename
    -num为显示指定文件的前num行。
    tail [-num] filename
    -num表示从距文件尾num行处开始显示。
    使用说明:
    若单独使用head,默认显示10行的内容。若单独使用tail,默认显示末尾10行内容。

  10. touch :touch用于创建一个新文件。
    格式:touch filename
    使用说明:
    如果文件已经存在,则改变这个文件的最后修改日期

  11. nl:以输出行号的方式显示文件。
    格式:nl [filename]

  12. ln:为某一个文件在另外一个位置建立一个符号连接。 当需要在不同目录用到相同文件时。Linux允许用户不用 拷贝文件,只需要将其它目录文件ln命令链接即可,这样 就不用重复地占用磁盘空间。
    格式:ln [选项] 目标 目录
    使用说明:
    “-s”参数表示建立符号链接。
    ln的链接分为软链接和硬链接两种:软链接即带-s参数,它只会在用户选定的位置生成文件的镜像(特殊的文件)。硬链接是不带-s参数的ln,硬链接并不生成新的文件,而通过索引点进行链接。软链接和硬链接都不会重复占用磁盘空间。

  13. grep :查找某个目录下包含关键字的文件
    格式:grep 关键字 文件
    使用方法:
    在/usr/src/linux/Documentation的所有文件中查找magic关键字
    grep magic /usr/src/linux/Documentation/*
    —— -r 表示不仅在当前目录查询,而且还是查询子目录
    grep 的一个重要作用是通过管道用于过滤命令输出的结果
    cat hello.c | grep “printf”

【小知识】:管道的概念
管道是linux中信息通道的重要方式。它是把一个程序的输出直接连接到另一个 程序的输入,而不经过任何中间文件。管道线是连接程序管道的通路。在shell中 用字符“|”表示。如: cat hello.c |less,即表示将cat hello.c的结果直接输入到less的程序中。
grep 定位字符信息
wc 统计字符信息
sort 排序字符信息

五、进程操作相关命令

  1. ps :显示当前系统中由该用户运行的进程列表。
    格式:ps [选项]
    常见参数:
    —— -a 显示终端所有进程,包括其他用户的进程
    —— -u 查看进程所有者及详细信息
    —— -x 显示没有控制终端的进程
    —— -e 显示所有进程
    使用方法:
[root@localhost redis-cluster]# ps aux|grep redis
root      2083  0.0  0.3  33936  1956 pts/0    Sl+  02:15   0:00 ./redis-server *:6379
root      2106  0.0  0.4  33936  2144 ?        Ssl  02:15   0:00 ./redis-server *:7001 [cluster]
root      2110  0.0  0.4  33936  2124 ?        Ssl  02:15   0:00 ./redis-server *:7002 [cluster]
root      2114  0.0  0.4  33936  2128 ?        Ssl  02:15   0:00 ./redis-server *:7003 [cluster]
root      2118  0.0  0.4  33936  2144 ?        Ssl  02:15   0:00 ./redis-server *:7004 [cluster]
root      2122  0.0  0.4  33936  2132 ?        Ssl  02:15   0:00 ./redis-server *:7005 [cluster]
root      2126  0.0  0.4  33936  2132 ?        Ssl  02:15   0:00 ./redis-server *:7006 [cluster]
root      2139  0.0  0.1   4360   736 pts/1    S+   02:16   0:00 grep redis
[root@localhost redis-cluster]#
  1. kill:输出特定的信号给指定PID的进程,并根据该信号完成指定的行为。
    格式:kill PID进程号
    kill PID 终止进程
    kill -9 PID 强制终止进程

  2. top:动态显示当前系统中由该用户运行的进程列表。
    格式:top [-d delay]
    参数-d delay表示屏幕信息刷新的时间间隔。

  3. renice:修改一个正在运行的进程的优先级。
    格式:renice 优先级

  4. pstree:列出当前的进程,以及它们的树状结构。
    格式:pstree [选项]

六、打包/压缩命令

Linux 下打包,压缩是两个概念
打包是把所有文件照原样合在一个tar 文件里,压缩则需要另外程序gzip,biz2,但tar可以调用它们,一次性完成打包和压缩功能
.tar.gz 由tar 程序打包,并且经过gzip 程序压缩
.tar.bz2 由tar程序打包,并且经过bzip2程序压缩

.bz2和.gz的区别:
.bz2比.gz压缩率更高,.gz比.bz2花费更少的时间

—— -c 创建tar 文件
—— -f 将文件打包生成到一个文件里
tar –cf new.tar ./home/text
—— -v 显示详细信息
—— -x 对tar 进行解包
tar –xf new.tar

针对zip格式:
打包:tar cvzf soft.tar.gz /home/text 将/hoem/text 目录下文件打包并压缩
解包:
tar xvzf abc.tar.gz 解包到当前目录下
tar xvzf abc.tar.gz -C /home 解包到指定目录下

针对biz2格式
打包:tar cvjf soft.tar.biz2 /home/text 将/hoem/text目录下文件打包并压缩
解包:
tar xvjf abc.tar.biz2 解包到当前目录下
tar xvjf abc.tar.biz2 -C /home 解包到指定目录下

猜你喜欢

转载自blog.csdn.net/asdf_1024/article/details/79042553