内部外部命令&网络:
linux开发环境搭建及yum工作原理:
常用命令:
1. Linux命令
1.1 Mkdir
功能:创建目录
语法:mkdir dir…
命令:
1) Mkdir dir
a) 创建dir目录。创建单个目录
2) Mkdir dir1 dir2
a) 创建多个目录dir1 dir2
3) mkdir dir{3..10}
a) 使用正则表达式创建3—10一共8个目录
1.2 Cp (copy)
功能:复制文件和目录
语法:cp [OPTION]... SOURCE... DIRECTORY
复制文件:
命令:
1) cp a.txt dir
a) 把a.txt拷贝到dir目录当中
2) cp a.txt c.txt
a) 如果c.txt不存在,创建一个c.txt,内容一并拷贝过去。
b) 如果c.txt存在,内容会发生覆盖。
3) cp *.txt dir1
a) 把当前目录所有txt文件复制到dir1目录
4) cp a.txt b.txt c.txt dir2
a) 同时把多个文件复制到dir2目录
5) cp dir1/* dir3
a) 把dir1目录下所有文件复制到dir3
复制目录:
1) cp -r dir dir1
a) 复制单个目录dir到目录dir1
b) –r:不能复制非空目录,必须进行递归复制。
2) cp -r dir dir11
a) 如果dir11目录不存在,创建dir11,拷贝dir内容
b) 如果dir11存在,把dir目录拷贝dir11目录下面。
3) cp -r dir1 dir2 dir3 dir4
a) 把目录dir1 dir2 dir3拷贝到目录dir4中
b) 注意:最后一个目录是目的目录。
4) cp -r * dir
a) 把当前所有文件和目录拷贝到dir目录下
5) cp -r dir* dir2
a) 拷贝所有以dir开头文件和目录到dir2目录中
1.3 Mv (move)
功能:剪切
语法:mv [OPTION]... SOURCE... DIRECTORY
移动文件:
命令:
1) mv file file1
a) 如果file1不存在,创建一个file1,内容复制。(重命名)
b) 如果file1存在,把file重命名为file1,内容进行覆盖。
2) mv a.txt dir4
a) 把a.txt移动到dir4目录中
3) mv *.txt dir5
a) 把所有以txt结尾文件移动到dir5目录
4) mv dir/* dir5
a) 把dir目录下所有文件和目录移动到目录dir5
移动目录:
1) mv dir dir12
a) 如果dir12不存在,把dir重命名为dir12
b) 如果dir12存在,把dir移动到dir12里面
2) mv dir* dir2
a) 把当前目录所有以dir开头文件和目录移动到dir2中
1.4 Rm (remove)
功能:删除
语法:rm [OPTION]... FILE...
命令:
删除文件:
1) rm b.txt
a) 提示删除b.txt
2) rm -f c.txt
a) 强制删除c.txt
b) –f:强制删除
3) rm -f file1 file.txt
a) 同时删除多个文件
4) rm -f file*
a) 删除所有以file开头文件
删除目录:
1) rm -rf dir1
a) 删除单个目录dir1
b) –f:强制删除,不提示
c) –r:递归删除
2) rm -rf dir2 dir3
a) 删除多个目录
3) rm -rf *
a) 删除当前目录所有文件和目录
4) rm -rf dir12/*
a) 删除指定目录dir12目录下所有文件和目录。
5) rm -rf dir*
1.5 pwd
功能:导航命令
语法:pwd
解析:显示当前目录所在位置
1.6 Cd
功能:切换目录位置
语法:cd ~|dir|..
命令:
1) cd ~
a) 调转到root目录
2) cd ..
a) 跳转到上一级目录
3) cd dir
a) 跳转当前目录dir目录下面。
4) cd /dir
a) 跳转到当前目录以为的目录必须加/
1.7 Touch
功能:创建文件
语法:touch 【-options】 file…
命令:
1) touch file
a) 创建单个文件,文件名称为file
2) touch file1 file2
a) 创建多个文件
3) touch file{3..10}
a) 创建多个文件
1.8 Cat
功能;查看文件
特点:查看文件全部内容。
适用场景:适合查看小文件内容。
语法:cat fileName
1.9 More
功能:查询文件内容
特点:分页查询
语法:more fileName
1.10 Less
功能:查询文件内容
特点:分页查询,上下翻页
语法:less fileName
1.11 Head
功能:查询文件内容
特点:默认只显示文件头部10条数据
1.12 Tail
功能:查询文件内容
特点:查看文件实时变化。
语法:tail –f fileName
1.13 Top
功能:查看当前系统资源占用情况
特点:默认每5秒刷新一次系统资源占用变化情况
语法:top
改变时间:top –d 2 每2秒刷新一次系统运行情况。
1.14 Ps
功能:查看进程
语法:ps –ef
1.15 Kill
功能:杀死进程
语法:kill -9 PID
1.16 Df
功能:显示当前磁盘资源使用情况
语法:df
单位显示:df –h
1.17 Which
功能:查询命令:查询命令别名,命令所在位置
语法:which + 命令名称
1.18 Whereis
功能:查询命令
特点:查询命令位置,查询命令源码,查询命令帮助文档。
语法:whereis +命令名称
1.19 Locate
功能:查询文件
语法:locate fileName
1.20 Find
功能:查找文件
语法:find path -option [ -print ] [ -exec -ok command ] {} \;
命令:
1) find -name file2
a) 根据文件名称查询文件,查询文件名为file2文件
b) –name:根据文件名称查询
2) find -name "file2"
a) 根据文件名称查询文件,查询文件名为file2文件:
b) 一般使用加引号进行查询:如果使用复杂查询表达式,加引号才能识别。
3) find /etc/ -name "[A-Z]*"
a) 查询etc目录下所有以大写字母A-Z开头的所有文件。
4) find /etc/ -name "[A-Z]*" -exec ls -l {} \;
a) 查询etc目录下所有大写字母A-Z开头的文件,显示这些文件详细信息。
b) –exec:执行,把前面命令查询结果交给后面命令执行。
c) {}:表示查询结果在一行进行显示。
d) \;:命令以分号结束,斜杠转义分号。
1.21 | (管道命令)
功能:把前面命令执行结果交给后面命令进行执行。
应用场景:svn进程,mysql进程
语法:
Ls –al | more -5
1.22 Grep
功能:过滤查询
应用场景:结合管道命令进行使用。
命令:
语法:find /etc/ -name "[A-Z]*" | grep FileName
find /etc/ -name "[A-Z]*" | grep README
Ps –ef | grep svn
Ps –ef | grep mysql
1.23 Ln
功能:创建快捷方式
命令:ln –s filename link(快捷方式名称,自定义)
2. 解压缩命令
2.1 Gzip
功能:使用gzip算法把文件进行压缩,解压。
压缩语法:gzip filename…
解压语法:gunzip file.gz…. Gzip –dv filename.gz…
命令:
1) gzip file
a) 压缩单个文件file文件,file.gz
2) gzip file2 file3
a) 压缩多个文件
3) gzip file*
a) 压缩所有以file开头文件
解压:
1) gunzip file.gz
a) 解压单个文件file.gz
2) gunzip file*
a) 解压所有以file开头压缩文件
3) gzip -dv file*
a) 解压所有以file开头压缩文件
b) –d:解压文件
c) –v:显示解压过程
2.2 Bzip2
功能:使用bzip2算法把文件进行压缩,解压。
压缩语法:bzip2 filename…
解压语法:bunzip2 file.gz…. bzip2 –dv filename.gz…
命令:
4) bzip2 file
a) 压缩单个文件file文件,file.bz2
5) bzip2 file2 file3
a) 压缩多个文件
6) bzip2 file*
a) 压缩所有以file开头文件
解压:
4) bunzip2 file.gz
a) 解压单个文件file.gz
5) bunzip2 file*
a) 解压所有以file开头压缩文件
6) bzip2 -dv file*
a) 解压所有以file开头压缩文件
b) –d:解压文件
c) –v:显示解压过程
2.3 Zip
功能:使用zip算法压缩文件,解压文件
语法:zip myzip.zip filename (myzip.zip是自己指定文件名称) filename指定需要压缩文件
命令:
1) zip myzip.zip file
a) 把文件file压缩成myzip.zip文件
2) Zip myzip.zip file*
a) 把所有以file开头文件压缩成myzip.zip文件
3) 解压:
a) unzip myzip.zip
2.4 tar
功能:打包,把文件和文件夹打包,打包后文件扩展名.tar
应用场景:tar命令结合压缩命令进行使用,先打包,然后再压缩,实现了压缩命令间接压缩目录。
语法:
打包命令:tar –cvf mytar.tar dir…
解包命令:tar –xvf mytar.tar
命令:
1) tar -cvf mytar.tar dir12
a) 把dir12目录打包mytar.tar文件
b) –c:打包
c) –v:显示打包过程
d) –f:指定打包文件
2) tar –xvf mytar.tar
a) –x:解包
b) –v:显示解包过程
c) –f:指定解包文件
使用tar命令解压tar.gz文件:
1) tar –zxvf mytar.tar.gz (解压使用gzip压缩文件)
a) 解压使用gzip压缩tar包
b) –z:解压使用gzip压缩gz包
c) –x:解包tar
d) –v:显示解压过程
e) –f:指定解压文件
2) tar -jxvf mybzip2.tar.bz2
a) 解压使用bzip2压缩tar包
b) –j:解压使用bzip2压缩bz2包
c) –x:解包tar
d) –v:显示解压过程
e) –f:指定解压文件
3. vim编辑器
功能:对文件进行编辑,使用vim命令进入文件编辑模型。
vi有3个模式:插入模式、命令模式、低行模式。
插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。 低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。3.1 打开文件、保存、关闭文件(vi命令模式下使用)
vi filename //打开filename文件
:w //保存文件 :w vpser.net //保存至vpser.net文件 :q //退出编辑器,如果文件已修改请使用下面的命令 :q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件使用快捷键进行保存:shift+ZZ
3.2 插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本 A //在当前行的末尾位置添加文本 I //在当前行的开始处添加文本(非空字符的行首) O //在当前行的上面新建一行 o //在当前行的下面新建一行 R //替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一行为一行(依然在命令模式)3.2.1 移动光标(vi命令模式下使用)
1、使用上下左右方向键
2、命令模式下:h 向左、j 向下 、k 向上、l 向右。
空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。3.3 删除、恢复字符或行(vi命令模式下使用)
x //删除当前字符
nx //删除从光标开始的n个字符 dd //删除当前行 ndd //向下删除当前行在内的n行 u //撤销上一步操作 U //撤销对当前行的所有操作3.4 搜索(vi命令模式下使用)
/vpser //向光标下搜索vpser字符串
?vpser //向光标上搜索vpser字符串 n //向下搜索前一个搜素动作 N //向上搜索前一个搜索动作3.5 跳至指定行(vi命令模式下使用)
n+ //向下跳n行
n- //向上跳n行 nG //跳到行号为n的行 G //跳至文件的底部3.6 设置行号(vi命令模式下使用)
:set nu //显示行号
:set nonu //取消显示行号3.7 复制、粘贴(vi命令模式下使用)
yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。 yw //复制从光标开始到词尾的字符。 nyw //复制从光标开始的n个单词。 y^ //复制从光标到行首的内容。 y$ //复制从光标到行尾的内容。 p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。 P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。3.8 替换(vi命令模式下使用)
:s/old/new //用new替换行中首次出现的old
:s/old/new/g //用new替换行中所有的old :n,m s/old/new/g //用new替换从n到m行里所有的old :%s/old/new/g //用new替换当前文件里所有的old4. 用户和组账户管理
linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰
4.1 一个标准用户有哪些配置文件?
保存用户信息的文件:/etc/passwd
文件字段:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
关于/etc/passwd 和 UID:
/etc/passwd 是系统识别用户的一个文件,做个不恰当的比喻,/etc/passwd 是一个花名册,系统所有的用户都在这里有登录记载;当我们以beinan 这个账号登录时,系统首先会查阅 /etc/passwd 文件,看是否有beinan 这个账号,然后确定beinan的UID,通过UID 来确认用户和身份,如果存在则读取/etc/shadow 影子文件中所对应的beinan的密码;如果密码核实无误则登录系统,读取用户的配置文件;
保存密码的文件:/etc/shadow
查看命令:man 5 shadow
保存用户组的文件:/etc/group
保存用户组密码的文件:/etc/gshadow
用户配置文件:
/etc/default/useradd
useradd详细信息:
/etc/login.defs
lonin.defs详细信息
使用命令:man 5 passwd
account:password:UID:GID:GECOS:directory:shell
4.2 Linux用户分类
超级用户:(root,UID=0)
普通用户:(UID在500到60000)
伪用户:(UID在1到499)
系统和服务相关的:bin、daemon、shutdown等
进程相关的:mail、news、games等
伪用户不能登陆系统,而且没有宿主目录
4.3 操作用户命令
4.3.1 添加用户(useradd)
添加用户命令:useradd [-选项] 用户名
-u 指定用户ID(uid)
-g 指定所属的组名(gid)
-G 指定多个组,用逗号“,”分开(Groups)
-c 用户描述(comment)
-e 失效时间(expire date)
例子:
useradd -u 888 -g users -G sys,root -c "itcast" itcast
passwd itcast
实例1:创建一个用户
命令:
useradd mine
创建一个用户名是mine的用户。这个用户没有任何密码
vim /etc/shadow
查看用户:发现mine用户创建成功,但是没有密码
设置mine用户的密码:
这样密码更新成功
注意:也可以直接指定用户密码进行创建用户。命令在上面已经指出,大家下去自己练习
4.3.2 更新用户(usermod)
修改用户命令:usermod(user modify)
-l 修改用户名 (login)usermod -l a b(b改为a)
-g 添加组 usermod -g sys
-G添加多个组 usermod -G sys,root tom
–L 锁定用户账号密码(Lock)
–U 解锁用户账号(Unlock)
4.3.3 删除用户(userdel)
删除用户命令:userdel(user delete)
-r 删除账号时同时删除目录(remove)
4.4 操作用户组命令
4.4.1 添加组(goupadd)
添加组:groupadd
-g 指定gid
4.4.2 修改组(groupmod)
修改组:groupmod
-n 更改组名(new group)
4.4.3 删除组(groupdel)
删除组:groupdel
groups 显示用户所属组
5. 权限
5.1 第一种方式
5.2 第二种方式
6. 安装软件
6.1 Rpm
rpm的常用参数
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(query all)
结合grep命令使用
例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm