一、基本知识
操作系统分类:Windows、Unix、Linux、IOS、Android、Mac OS X;
Linux操作系统的发行版本可以大体分为两类:
一类是商业公司维护的发行版本,以Redhat(RHEL)为代表;
一类是社区组织维护的发行版本,以Debian为代表。
- RedHat系列:Redhat、Centos、Fedora等;
- Debian系列:Debian、Ubantu等;
RedHat系列:稳定性方面RHEL和 CentOS的稳定性非常好,适合于服务器使用,使用人群数量大;
Debian系列:Debian是社区类Linux的典范,对硬件支持非常全面,兼容性好;
各个系列详细介绍:
二、操作系统及软件
操作系统:ubuntu-16.04.3
下载地址:中文官方网站
远程访问软件:SecureCRT
SecureCRT是Windows下登录UNIX或Linux服务器主机的软件,是一款支持SSH(SSH1和SSH2)的终端仿真程序。
SecureCRT的安装详见
当然,不安装SecureCRT,操作如下命令也是完全没有问题。
如果是在虚拟机里面安装Linux,启动前一定要注意打开下面两个服务,否则将会影响操作系统的联网:
三、基本命令
- 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
- 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:~#
- 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
- 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文件系统不是根据后缀来执行文件的,而是根据此文件有没有执行权限。
cd:切换工作目录
cd的特殊用法:
cd .. :进入上一级目录
cd ~ 或者是 cd :进入该用户主目录 ,(root 用户进入/root,其余用户进入/home相应用户)- pwd:显示当前目录
使用说明:执行pwd指令显示目前所在的工作目录的绝对路径名称。
- pwd:显示当前目录
mv
作用:移动文件(目录)
修改文件名(目录名)
格式:mv [options] 源文件或目录 目标文件或目录
使用方法:
mv /usr/text/ * . :将/usr/text中的所有文件移到当前目录(用“.”表示)中:
mv cjh.txt wjz.txt :将文件cjh.txt重命名为wjz.txtcp:复制文件或目录
语法: cp [选项] 源文件或目录 目标文件或目录
使用方法:
—— -a 通常在拷贝目录时使用。保留链接、文件属性,并递归地拷贝目录。
—— -f 覆盖已经存在的目标文件而不提示。
—— -R 若给出的源文件是一目录文件,递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。mkdir:创建一个目录
格式:mkdir [选项] dirname
使用说明:
——要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
—— -m 对新建目录设置存取权限。也可以用chmod命令设置。
—— -p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。rm:删除一个文件或目录
格式:rm [参数] 文件名或目录名
使用说明:
—— -r 递归删除,通常跟d结合,删除一个完整目录及其子目录
—— -i 删除一个文件
—— -f 不询问,直接删除rmdir :删除空目录
格式:rmdir [选项] dirname
使用说明:
注意,一个目录被删除之前必须是空的。rm - r命令可代替 rmdir。
—— -p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。file:确定文件类型。
格式:file 目标文件
使用说明:
使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
最重要是可以查可执行程序是哪一种CPU体系下编译,是静态编译还是动态编译.这是嵌入式编译非常重要;cat、tac:连接并显示指定的一个和多个文件的有关信息。
格式:cat/tac[选项]文件1、文件2…
实例: cat hello.txt
显示hello.txt 内容
cat hello1.txt hello2.txt > hello3.txt
把hello1.txt内容与hello2.txt内容合并,输出到hello3.txt中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行内容。touch :touch用于创建一个新文件。
格式:touch filename
使用说明:
如果文件已经存在,则改变这个文件的最后修改日期nl:以输出行号的方式显示文件。
格式:nl [filename]ln:为某一个文件在另外一个位置建立一个符号连接。 当需要在不同目录用到相同文件时。Linux允许用户不用 拷贝文件,只需要将其它目录文件ln命令链接即可,这样 就不用重复地占用磁盘空间。
格式:ln [选项] 目标 目录
使用说明:
“-s”参数表示建立符号链接。
ln的链接分为软链接和硬链接两种:软链接即带-s参数,它只会在用户选定的位置生成文件的镜像(特殊的文件)。硬链接是不带-s参数的ln,硬链接并不生成新的文件,而通过索引点进行链接。软链接和硬链接都不会重复占用磁盘空间。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 排序字符信息
五、进程操作相关命令
- 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]#
kill:输出特定的信号给指定PID的进程,并根据该信号完成指定的行为。
格式:kill PID进程号
kill PID 终止进程
kill -9 PID 强制终止进程top:动态显示当前系统中由该用户运行的进程列表。
格式:top [-d delay]
参数-d delay表示屏幕信息刷新的时间间隔。renice:修改一个正在运行的进程的优先级。
格式:renice 优先级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 解包到指定目录下