1)linux的shell、shell控制台、linux的启动、基础命令;
Linux shell 为何物?shell是用户和Linux操作系统之间的接口。Linux中有多种shell,其中我们使用的是bash shell。
Redhat Linux系统默认的shell是 bash,对普通用户用$作提示符,对超级用户 root 用#作提示符。
进入超级用户root | 使用su,passwd:输入密码 |
显示shell版本 | echo $0 |
查看shell版本信息 | bash --vertion |
shell控制台就是我们通常见到的使用字符操作界面的人机接口,例如dos。
linux的启动分为三个阶段BIOS启动引导阶段、GRUB为例启动引导阶段、内核阶段和Sys V init 初始化阶段
linux基础命令
命令 | 示例 |
ls | ls 显示当前目录下的文件,ls -A 显示所有文件,包括隐藏文件; |
cd | cd 文件夹名 进入文件夹,cd /进入根目录,cd ~进入home目录,cd ..退出文件夹; |
mkdir | mkdir 123,创建123目录; |
rmdir | rmdir 123,删除123目录; |
mv | mv 123 abc 移动123到abc;mv aaa.tar bbb.tar 将当前目录下的aaa.tar修改成bbb.tar; |
cp | cp –r 源文件(source) 目的文件(target) |
rm | 删除,rm -r 删除时候询问;rm -rf直接删除不询问; |
cat | cat 1.txt 显示1.txt的内容;cat -A 显示文件中所有内容,包括制表符,例如$^; |
more | 当使用cat指令显示内容过多时用more 逐页显示 |
pwd | 显示当前所在目录地址 |
命令:useradd、userdel、groupadd、groupdel、passwd、chmod、chown、ps、top、kill、df
命令 | 示例 |
useradd | useradd user1 添加用户user1 |
userdel | userdel user1 删除用户user2 |
groupadd | groupadd tt 添加组tt |
groupdel | groupdel tt 删除组tt |
passwd | passwd 密码 |
df | 显示目前磁盘剩余的磁盘空间 |
chown | chown 用于更改某个文件或目录的属主和属组,这个命令也很常用 |
ps | 显示系统当前的进程和其他状况 |
top | top与ps差不多,区别在于top会断刷新,看top参数主要查看三点:zombie、wa、Cpu |
kill | kill -9 1234 命令,将终止PID(进程号)为 1234 的进程(-9表示强制停止); |
chmod | chmod 777 1.txt 给最大权限; chmod +x 1.txt 给ugo执行权限; chmod u+x 1.txt 给所有者执行权限; |
2)cat、vi;
第一段中也讲了cat,下面细讲一下cat命令,使用WinSCP从windows拷贝文件到linux时,文件的制表符不同,会产生很多问题,这个时候cat -A 帮助你。
从上图中看出,windows中换行的制表符是^MS,linux中换行的制表符是$;在linux中使用windows的文件时要进行转换,转换指令是set fileformat=unix。
vi 的使用,vi有三种模式,“一般模式”、“编辑模式”、“指令模式”;
三种模式间的转换:
从一般模式按i o a 进入编辑模式,按esc退出;从一般模式按:(冒号)进入指令模式,按esc退出至一般模式
一般模式下可以使用的指令dd,删除;yy,复制;p,粘贴;gg,回到文档最前面;G,回到文档最后面;
指令模式常用的指令有:wq保存并退出;q!不保存并退出;set nu显示行号;set fileformat显示所有制表符;set fileformat=unix;/寻找字符,例如/ip就是从文档中找ip这个字符。
3)网络配置(ifconfig)、route;
ifconfig:查看网络配置
其中 interface 为网卡名,addr为 IP 地址,Bcast 表示设置广播地址,Mask 表示设置子网掩码。up、down 设置当前网卡的状态;up表示启用当前网卡,down 表示关闭当前网卡。
ifconfig eth0 192.168.0.1 将网卡地址设置为192.168.0.1
ifconfig eth0 down 临时关闭网卡eth0
ifconfig eth0 up 临时开启网卡eth0
fconfig eth0 netmask 255.255.255.0将子网掩码地址设置为255.255.255.0
如何在文件中修改网络配置?
cd /etc/sysconfig/network-scripts/进入文件夹
vi ifcfg-eth0进入文档编辑;
#添加ip、网关和掩码的代码
IPADDR=172.18.12.111
GATEWAY=172.18.1.1
NETMASK=255.255.0.0
将dhcp设成static:
#BOOTPROTO=dhcp
BOOTPROTO=static
4)掌握netstat、nslookup、host、finger和ping;
netstat:用来监听端口,很常用,在下面的表格中列出netstat监听不同端口的使用方法
命令 | 解析 |
netstat -au | 列出所有 UDP 端口 |
netstat -l | 只显示监听端口 |
netstat -lt | 列出所有监听 tcp 端口 |
netstat -p | netstat 输出中显示 PID 和进程名称 |
netstat -pt | netstat 输出中显示 PID 和tcp进程名称 |
nslookup:查询域名对应的ip地址,例如,nslookup blog.csdn.net
host:host跟nslookup差不多,大家看看下图自己体会有什么区别吧
finger:查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、
登录时间 登录shell等信息;
ping:ping 命令用于查看网络上的主机是否在工作,它会向该主机发送包。ping 域名也可以;
例如,ping 127.0.0.1是ping本地;ping域名可以测试网络连通性。
5)网络操作方法:
Linux 提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户登录到远程计算机上、传输文件和执行远程命令等。本节介绍下列几个常用的有关网络操作的命令:
ftp:ftp 127.0.0.1 输入密码,登录到ftp上;
telnet :telnet 192.168.12.56 22,22是端口号,通过telnet指令可以远程登录计算机;
ssh:登录到远程计算机上
r - :使用各种远程命令
6)安装方式:yum安装、rpm安装、源码安装;
yum源:yum源有很多种,国内比较靠谱的有这些,http://mirrors.163.com/、http://mirrors.aliyun.com/;
yum安装步骤:更新redhat镜像、yum配置、yum指令自动安装;
rpm安装:
rpm -i 需要安装的包文件名
举例如下:
rpm -i example.rpm 安装 example.rpm 包;
rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;
rpm 查询操作
命令:rpm -q
查询命令:a 查询所有已经安装的包以下两个附加命令用于查询安装包的信息;
示例:rpm -qa samba
rpm升级:rpm -U samba,升级samba
源码安装tar:
1、 打包/压缩工具 tar
tar 是 Linux 下最常用的打包、压缩工具,它在 Linux 中扮演类似于 WinZip 或WinRAR 在 Windows 下的
角色。下面是该工具的常用命令参数及运用举例:
主要命令:
-c 创建包
-x 解包-
t 列出包中的内容
-r 增加文件到指定包中-u 更新包中的文件可选命令
-j 创建或解开包
示例:
tar最常见的两个用途是压缩和解压缩,压缩的最简单参数是-cf,解压缩的最简单参数是-xf,如下所示:
tar -cf test.tar.gz test1.txt test2.txt test3.txt
tar -xf test.tar.gz
并且tar命令在软件安装过程中,用于解压缩tar包,解压缩后的内容即为binary源码。之后的安装需在解压缩后
的文件夹内进行源码安装操作,一般执行如下命令:
./configure
make
make install
7)文件的查找和匹配、linux服务的管理:find、grep、service、chkconfig
find指令:
find . -name 1.txt 在当前目录及其子目录下查找文件1.txt
find /tmp -name 1.txt 在 /tmp 目录及其子目录下查找文件 1.txt
find命令的格式:find [-path……] -options [-print -exec -ok]
pash为要查找的文件的目录;
option为查找条件;
print:表示将结果输出到标准输出;
exec:对匹配的文件执行该参数所给出的shell命令。
ok:与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行;
service:service < option > | --status-all | [ service_name [ command | --full-restart ] ]
示例:service sshd status
service sshd start
service sshd restart
grep指令:
Usage: grep [OPTION]... PATTERN [FILE]...
示例: grep -i 'hello world' menu.h main.c
[root@localhost ~]# cat 1.txt | grep all
all tooall
to alltoall all
allto100
uuualltoall
精确匹配 -w
[root@localhost ~]# cat 1.txt | grep -w "all"
all tooall
to alltoall all
[root@localhost ~]#
加入自动颜色:
[root@localhost ~]# cat 1.txt | grep -w "all" --color=auto
all tooall
to alltoall all
格式: grep [OPTION]... PATTERN [FILE]...
示例: grep -i 'hello world' menu.h main.c