Linux基础

1.安装ssh(SSH Secure File Transfer Client),方便在windows系统控制linux系统。

linux:  

开启sshd服务   service sshd start

设置开机启动    chkconfig sshd on

重启服务      services sshd restart

查看服务是否开启  ps -le | grep sshd

ubuntu:

首先安装openssh-server   $sudo apt-get install openssh-sercer

运行 ssh secure shell   --》

quick connet

host name :1992.168.56.1

user name:

port:22

password:

boot: 包括内核和其他系统启动时使用的文件。
root: 系统管理员、超级用户root的默认主目录。
dev: 存放设备文件的目录,linux系统把所有的设备都看成是一个文件。

  ide硬盘--/dev/hd[a-d]

    /dev/hda1(ide硬盘接口133M/s)

    /dev/sda1(scsi硬盘接口200m/s、sata(1,2,3)500m/s硬盘接口)

  scsi/sata/usb硬盘--/dev/sd[a-p]

  光驱--/dev/cdrom  或/dev/hdc

  软盘--/dev/fd[0-1]

  打印机--/dev/lp[0-2]

  打印机(usb)--/dev/usblp[0-15]

  鼠标--/dev/mouse

bin: 存放可执行文件命令的地方,一般用户可以操作这些命令,比如ls, pwd等外部命令。

sbin: 存在可执行文件命令,这些命令只有由超级用户管理系统时使用,root用户使用,普通用户没有权限使用。
home: 普通用户目录存放的地方,每创建一个用户,会在这个目录下创建一个对应用户 的目录。
usr: 用户相关的一些应用程序,一般用户安装的程序都放在这个地方。 
tmp: 临时目录,当系统重启时,该目录中的文件会被自动清空。
lib: 存放一些程序使用的共享库文件。
var: 存放一些经常改变的文件,比如日志文件,临时文件等。
proc/sys: 存放内存信息
opt: 存放可选择安装的文件和程序,主要是第三放厂商的安装包。
etc: 存放系统的配置文件。
mnt: 文件系统挂载点目录,一般用于挂载软盘、光驱等设备。
lost+found: 用于系统恢复的文件,比如非法关机,系统崩溃重启时,会用里面的文件做恢复处理。

2.基础命令

  history 查看输入过的命令(~/.bash_history)

  配置文件(/etc/profile)

hitstory [-c 清除历史命令缓存-w 将命令加入缓存]

!n执行history 第n条命令

!!执行上一个命令

!字串执行最后一个以字串开头的命令

  Tab键   命令补齐,目录补齐(按两下显示目录文件)

  command --help   (manual获得命令有关帮助信息)

使用路径

  绝对路径 从根目录开始 /home/user

  相对路径 从当前目录开始 ./user

文件管理命令 (ls,cd,pwd,man,file)

ls [-a所有文件 -l详细信息 -F文件类别 -R陆续换行显示  -d显示指定目录]

    ls -l  >>drwxr-xr-x. 2 m m 6 8? 3 17:47 Desktop  >>简化写成 ll

    ls -lh 人性化显示

    ls -F >>符号在文件名后面,如果是目录,后面会有/

    ls -l dir1 dir2 >> 显示两个文件信息 

cd 命令

  cd ~ 家目录 cd  家目录 cd .. 上一级目录  cd - 上次目录 

  

man command    -----manual pages

  Use / to find the optional,use n to find next optional

--Help   >>optional directory

file filename >>返回文件类型

文件操作命令 (touch,cp,rm,mv,ln,mkdir,rmdir)

   touch filename>>创建或修改文件访问时间

  cp [-p保留原文件日期 -r 复制目录 -d若是链接则复制链接属性 -a 相当于pdr 复制所有属性] file1 file2 

    1.cp dir /home  原名复制到home下

    2.cp dir /home/dir2 改名复制到home下

    3.cp -r dir1 dir2  复制目录复制到目录2

    4.cp -a dir dir 复制文件保留所有属性

  rm [-i 有提示 -r 删除目录 -f 强制删除] filename

  mv [-i有提示 -f 强制移动] filename1 filename2

  ln [-s 软链接 -d 硬链接] dir1 dir2  只能针对文件不能给目录,

  软链接自己创建一个文件,文件包含源文件的(id,时间,权限),只能给绝对目录,可以修改文件影响源文件

  mkdir [-p子目录] filename

  rmdir [-p子目录] filename

文件查看命令(cat,more,less,head,tail)

  cat filename 显示文件内容

  more filename 分页显示>>f 翻页  q退出 enter 下一行

  less filename  按行显示 

  head [-number]显示文件前几行

  tail [-number]显示文件后几行

文件权限管理(chmod,chown,chgrp)

  chmod [-R所有文件] [augo] [+-=] [rwx][421] filename/dir

  chown [-R] user[:group] filename

  chgrp [-R] group filename

文件搜索命令(which,whereis,grep,wc,find,locate)

  locate file

  从/var/lib/mlocate数据库中查找文件(一天更新一次)--updatedb马上更新数据库

  /etc/updatedb.config 配置文件(搜索哪些,不搜索哪些文件)

  which  command显示命令位置和别名

  whereis [-b 查找可执行-m查找帮助文件]command 显示 搜索命令的命令

  Grep [-i (ignore the lower-case or capital letter) –v(opposite)] string file   

    grep的规则表达式:
    ^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。    
    $  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。    
    .  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。    
    *  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。    
    .*   #一起用代表任意字符。   
    []   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。    
    [^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    
    (..)  #标记匹配字符,如'(love)',love被标记为1。    
    <      #锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。    
    >      #锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。    
    x{m}  #重复字符x,m次,如:'0{5}'匹配包含5个o的行。    
    x{m,}  #重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。    
    x{m,n}  #重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。   
    w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'Gw*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   
    W    #w的反置形式,匹配一个或多个非单词字符,如点号句号等。   
        #单词锁定符,如: 'grep'只匹配grep。

  wc [-c] filename

    -c 统计字节数。

    -l 统计行数。

    -m 统计字符数。这个标志不能与 -c 标志一起使用。

    -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

    -L 打印最长行的长度。

  find [搜索路径] [optional][关键字]

Find /root –mtime +10

-atime    access time

-ctime  改变文件属性的时间

-mtime   modified time

-size   10k  10M

-inumber  find the id number

-exec command {} ; first command give to second command process

Find /root –mtime +10 –exec ls –l {} ;

    -name   按照文件名查找文件。

    -perm   按照文件权限来查找文件。

    -prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

    -user   按照文件属主来查找文件。

    -group  按照文件所属的组来查找文件。

    -mtime -n +n  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

    -nogroup  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

    -nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

    -newer file1 ! file2  查找更改时间比文件file1新但比文件file2旧的文件。

    -type  查找某一类型的文件,诸如:

      b - 块设备文件。

      d - 目录。

      c - 字符设备文件。

      p - 管道文件。

      l - 符号链接文件。

      f - 普通文件。

      -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

系统设置命令(clear,date,call)

  清除屏幕,显示系统时间,显示系统日历

环境变量命令(alias,export)

 alias 设置命令别名

  $alias fuck='ls -a'

  unalias fuck删除命令

 export导入环境变量

用户管理命令(adduser,passwd,userdel)

adduser username >>增加用户

passwd  username >>修改密码

passwd -l(锁定)-u(解锁) -d(取消密码)username  

userdel [-r删除目录] username >>删除用户

useradd -g group1 -G group2,group3 ..增加用户到组

用户组命令(groupadd,gpasswd,groupdel)

groupadd name >>增加组

gpasswd -A username groupname >>设置组管理员,-a添加附属组-d删除附属组

newgrp groupname >>切换到附属组为主要组

gpasswd groupname>> 设置组密码

gpasswd -r groupname >>取消组密码

gpasswd -a groupname >>添加组成员

gpasswd -d username groupname>>删除组成员

groupmod -n newname oldname>>修改name

groupmod -g 668 name>>修改组编号

groupdel groupname >>删除组

禁止普通账户登录touch /etc/nologin 

  用户信息配置文件 /etc/passwd

  用户密码配置文件 /etc/shadow
用户名:用户登录的名字。

密码:存放的是经过算法加密的用户账户密码。

最后一次修改密码的日 期:从1970年1月1日到最后一次修改密码的日期之间的天数。

密码最小生存期:至少在这些天数内不能修改密码。

密码最大生存期:在这些天数之后必须修改密码。

更换密码前的警告的天数:密码过期之后的这些天数内没有更换密码,用户不能登录系统。

账户过期日期:从1970年1月1日到账户过期日期之间的天数。
  用户组账户文件 /etc/group

  组密码文件 /etc/gshadow

 进程管理命令(ps,top,kill)

ps[-a终端下执行的进程 -e所有进程] 显示进程

top [-d number] 每隔number秒刷新处理器信息

kill [-p进程号 -9强制杀] pid 

系统信息命令(uname,who,whoami,id)

uname[-r 显示系统版本-a所有标示信息]

chfn 设置用户资料

finger 显示用户详细资料

who[-a]登录系统的用户

whoami[-a]当前用户

id当前用户id

用户登录注销命令(shurdown,su)

shutdown[-r 重启 -h关机]  [时间分钟/now]

su [-m -p 切换用户不改变环境变量] [username]

网络管理命令(hostname,ifconfig,ping,netstat)

hostname主机名

ifconfig网络配置

  eth0:表示系统中第一块网卡,eth1:表示系统中第二块网卡,lo:系统中回环接口。
  HWaddr:表示网卡的物理地址,00:0C:29:EB:76:C7是具体的值。
  inet addr:192.168.163.128,表示IP地址为:192.168.163.128
  Bcast:192.168.163.255,表示广播地址为:192.168.163.255
  Mask:255.255.255.0,表示子网掩码为:255.255.255.0
  UP:表示当前接口为活动网卡接口,BROADCAST:表示支持广播,

  MULTICAST:支持多广播,MTU:1500:表示一次最大传输1500个字节,                  Interrupt:19:表示中断号为11。

ping [ip]

netstat 显示网络连接路由表

vim编辑器

两种模式

命令模式(刚进入时输入,末尾行时输入)

:w  保存修改 :q 退出 :! 强制 :ls 列出打开的所有文件   :n切换到前一个文件  :5快速切换到第5行

:?xxx 向前搜索    :/xxx  向后搜索

h j k l c+f c+b c+d c+u

编辑模式

vim + file  >>光标在末尾

vim +8 file   >>光标在第8行

vim +/xx file  >>查找文件中的xx

vim aa bb cc >> :n 移动到下一个文件  :N回到前一个文件

磁盘管理命令

df[-a 所有文件系统磁盘使用 -k以k字节显示 -T显示文件类型]

du[-a -k 以k字节 -b以字节] 文件或目录 占用空间

归档压缩命令(tar,gzip,gunzip)

压缩

1.zip file.zip file  压缩文件compress file

 zip –r file.zip file  压缩目录

   unzip [-o (not information) -d(appoint the directory)] dir file

2.gzip [-9高压缩 -1快速压缩 -r 整个目录]    直接压缩,源文件没有

   Gzip –c file > file.gzip 保留源文件压缩

   Gzip –r file 压缩目录下文件。不能压缩目录

  解压缩 Gzip –d file.gzip 

           Gunzip file.gzip
3.bzip2 file   >not kepp old file

Bzip2 –k file   >keep old file,can’t compress directory

4.tar[ c创建归档  v显示过程  f指定归档后文件  z压缩] file.tar dir/file

  $tar cvf  file2.tar file1>>file2.tar

  $tar cvfz  file2.tar.gz file1>>file2.tar.gz

解压

tar [-z 解压(与c压缩;与x解压)-x 解析文件 -f指定解压对象文件名 -t 测试 -v显示过程 ]

  $tar zxf xxx.tar.gz

  $tar xf xxx.tar

Tar –zcvf file.tar.gz file 压缩为tar.gz

Tar –zxvf file.tar.gz 解压文件

Tar –jcvf file.tar.bz2 file 压缩为tar.bz2

Tar –jxvf file.tar.bz2 解压缩tar.bz2

Tar –ztvf 测试查看

gzip [-9高压缩 -1快速压缩 -r 整个目录] 

  $gzip -1 -r home/  >>压缩home下的文件,都成gz

  $gzip -1 dd  >> 压缩dd为gg.gz

  $gzip -1  xx.gz

gunzip [ -r 整个目录] file.gz 

  $gunzip -r home/ >>解压home下的文件

  $gunzip xx.gz

c 程序

gedit xx.c>>打开或创建文件

vim xx.c esc:qw! 编辑,保存退出

gcc xx.c -o xx.exe 编译生成执行文件

./xx.exe 运行执行文件

shutdown 命令

Shutdown [optional] time

-c cancel last shutdown cmd

-h 关机

-r  reboot

管道命令 |

  ls /etc | more 从左到右输出

输入重定向

  wc<file.txt

输出重定向

  ls>file.txt

执行多个命令

  pwd;ls;cd /home

命令放在后台&

例子:$pwd &
[1] 1867
把命令放在后台运行时,会显示两个数字,一个是工作号,也叫作业号,另一个是进程号,上例中1是工作号,进程号是1867

将前台命令放在后台ctrl +z

查看后台命令 jobs

命令提到前台 fg [%1查看命令作业号]

 linux系统分区

分区类型

  主要分区(最多4个)

一个扇区512字节,446字节记录启动信息,64字节用来存储硬盘信息,16个字节存储一个硬盘信  息

  扩展分区(最多只有一个,不能写入数据)

从主分区拿出一个做为扩展,可以划分逻辑分区,可以划分23个,除了cde.

  格式化

  将硬盘重新分区,分为等大的数据块

  在分区列表里面建立二位表格(id,修改时间,权限等信息)

  附带清空信息,主要目的是写入文件系统

windows顺序——分区,格式化,分配盘符

linux顺序--分区,格式化,给设备命名,分配盘符

  主分区、扩展分区序号(1,2,3,4)

  逻辑分区序号从5开始

挂载(相当为盘符)将盘符和分区链接在一起

必须分区

  /(根分区)

  swap分区(内存不够时提供给内存,交换分区,内存2倍<4g,内存+2g>4g))

  boot分区(启动分区200mb)


系统测试流程

    需求分析〉测试方案〉测试用例〉执行测试用例(提交bug,回归测试)>测试报告

等价类边界值 输入框,规则多

因果图判定表 2个值,true or false

正交 取值多

状态迁移 

流程图

测试工程师理解

基于用户需求提交bug,提高软件质量

规划

bug 标题

bug 所属版本及模块

bug 严重程度(致命、严重、一般、提示)

bug 状态(打开、修改、挂起、关闭等)

bug 出现频率(必现、偶现、不可重现)

重现步骤:1.bug 出现环境(系统、浏览器)2.预期结果,实际结果3.操作步骤4.附件截图

bug生命周期

测试人员 测试经理 开发经理 开发  测试

    提交  审核  提交  修改  提交 

以班级显示数学不及格人数

表stinfo:id,name,class

表grade:id,math

select class,count(*) from stinfo where id in (select id from grade where math<60) group by calss;

select class,count(*) from stinfo,grade where stinfo.id=grade.id and math<60 group by class;

df查看磁盘分区使用状况

-l 显示本地磁盘(默认参数) -a 显示所有 -h 1024进制显示 -H 1000进制显示 -t显示指定类型文件系统  -x 不显示指定类型文件系统 (跟参数) -T显示磁盘分区类型

du 统计磁盘文件大小

-b 以byte为单位 -k 以kb为单位 -m 以mb为单位 -h 以1024 -H 以1000 -s 指定统计目标

分区命令1 fdisk

fdisk -l 列出当前分区表

fdisk /dev/xxx 进入分区模式

输入m 查看帮助信息——输入n 添加分区——输入p添加主分区——分配标号(默认回车)——输入分区大小如(+3000M)——输入p查看

输入n再次添加一个分区——输入e添加扩展分区——分配标号(默认回车)——输入分区大小(回车使用剩余空间))——输入p查看

输入d 删除分区

输入w保存分区方案

 分区模式

mbr(主分区4个,单个分区最大2tb)

gpt(主分区128个,单个分区容量18eb,缺点不适合安装x86架构系统,1pb=1024tb)

分区命令2 parted

默认为第一块磁盘分区

select /dev/sda ——切换磁盘

mklable msdos/gpt——选择分区表类型

print all 查看那当前状况——两种模式(交互和命令模式)

交互模式下(mkpart——name>type>start(从1mb))

命令模式下 mkpart  name 1 2000

rm 标号 删除分区

unit GB 改变默认,用GB分区

quit退出

格式化命令mkfs

cd 到/dev   查看sdb   ls -l sdb*

mkfs.ext3 /dev/sdb1  给磁盘格式化成ext3

mkfs -t ext4  /dev/sdb2 给磁盘格式化成ext4

挂载默认目录(/mnt)

mkdir -p /mnt/imooc 建立文件

mount /dev/sdb1 /mnt/imooc  挂载sdb1 到imooc

unmount /mnt/imooc 卸载

编辑/etc/fstab配置文件添加如下

vi + /etc/fstab

交换分区

建立分区——修改分区类型16进制编码——格式化交换分区——启用交换分区

fdisk /dev/sdb(启动分区操作) >t(查看分区编号)>6(选择要修改的分区编号)>L(查看编码列表)>82(交换分区编号)>w(保存)      

mkswap /dev/sdb6 格式化

swapon /dev/sdb6启用  swapoff 停用

free查看

查看mysql服务状态

service mysqld status

系统运行级别

Init 0-关机 1-用户 2-单用户3-完全多用户4-未分配5-图形界面 6-重启

Runlevel

>query system runlevel

修改default 能够让系统崩溃

/etc/inittab>>系统运行配置文件

远程登录退出Logout

管理员Linux 255

Xp1个

Server 2003 2个

Server 2008 4-8个

挂载方法

Mount 查询已挂载的设备

Mount –a根据/etc/fstab自动挂载

Mount –o remount,noexec /home 不允许执行exec文件在home 目录下

挂载命令格式

Mount [-t 文件系统] [-o 特殊选项] 设备 文件名   挂载点

文件系统可选:iso9660 ext3 ext4

特殊选项表

第一步:建立文件夹

光盘的设备文件sr0

Mnt misc media 都可以创建,misc media是后加上的

Mkdir /mnt/cdrom 建立挂载点

Mount –t iso9660 /dev/sr0   /mnt/cdrom  将设备sr0挂载到cdrom

Mount /dev/sr0  /mnt/cdrom

卸载设备

Unmounts /dev/sr0

Unmounts /mnt/cdrom

退出到目录再卸载

挂载u盘

Fdisk –l 查看系统已经识别的硬件

Mount –t vfat /dev/sdb1   /mnt/usb

快捷键ctrl 

l清屏

a切换行首

e切换行尾

u删除到行首

z放到后台

r历史命令中搜索

RPM命令

rpm -ivh install verbose详细信息 hash进度
rpm -Uvh
包依赖查询
http://www.rpmfind.net/linux/RPM/index.html

rpm查询
rpm -q xxx --查询已经安装的包(query)
rpm -qa 查询已经安装的
-i 软件信息
-p 未安装包
-l 查询位置 (list)
rpm -qlp 查询 未安装包准备安装位置
rpm -V 文件是否改变
S文件大小
M权限
5 md5是否改变
D主从代码
L路径
U所有者
G所属组
T修改时间
文件类型: c配置 d普通 g鬼 L授权license r描述
-R 依赖性查询
rpm -qf --查询包属于那个文件
rpm2cpio 包全名 | cpio -ivdv .文件路径 --提取文件内容
yum在线安装包
本地配置文件(/etc/yum.repos.d/centosbase.repo)
本地yum光盘搭建
挂载光盘——修改etc/yum.repos.d下的centosmedia 将baseurl改为挂载的光盘
位置,设置为enable
yum -y install xxx 默认为yes
yum search 搜索服务器上的包
yum -y update 包名
yum grouplist
yun groupinstall xxx
yum groupremove xxx
LANG=en_US

Keep going
原文地址:https://www.cnblogs.com/maoxianfei/p/5734076.html