一.Linux命令
1.查看当前操作目录位置
>pwd
2.查看(当前)目录里边的文件内容
>ls//list
>ls -l或 ll //显示文件的详细信息
>ls-al //all显示文件的详细信息(包括隐藏文件)
>ls-a //显示目录全部文件名字(包括隐藏文件)
3.目录切换
>cd目录名字
>cd .. 或 cd ../ //上级目录切换
>cd . 或 cd ./ //切换到当前目录
>cd ~ 或 cd //切换到用户家目录
4.用户切换
>su -或者 su root //切换到root超级管理员
>su普通用户名
>exit退出用户
用户在切换时候会造成叠加效果,因此不要重复su(建议su 和 exit配对使用)
5. 查看当前用户
>whoami //当前正在操作的用户是谁
>who am i //登录系统的用户是谁(包括登录时间)
6.图形界面和命令界面切换 (必须是root用户操作)
># inti 3 //切换到命令界面
># inti 5 //切换到图形界面
7.查看指令对应的可执行文件位置
>which 指令
8.直接输出文件内容到终端
>cat 文件
9.清屏
>clear 快捷键 ctrl+l
10.目录操作
①创建目录make directory
>mkdir 目录名称 //创建单个目录
>mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录
>mkdir dir1/dir2/newdir
>mkdir -p dir1/newdir2/newdir3
新目录的层次大于等于2个,就需要-p参数 等于1个,就不需要
>mkdir /home/jinnan/shandong //相对根目录的“绝对路径方式” 创建shandong目录
②移动目录 move
>mv dir1 dir2 //dir1移动到dir2的目录下
>mv dir1/dir2 dir3 //dir2移动到dir3目录下
>mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下
>mv /home/jinnan/beijing /home/jinnan/sandong //绝对路径方式beijing移动到sandong目录下
③目录改名字操作
mv指令的第二个参数是新名字就是改名字操作存在的名字就是移动操作
mv是【移动和改名字】合并的操作指令
>mv dir1 newdir //dir1改名字为newdir
>mv dir1/dir2 dir3/newdir //dir2移动到dir3并改名字为newdir
④复制(并改名字)操作 copy -R recursive
针对非空的目录执行复制操作
>cp -R dir1 dir2 //dir1 复制到dir2下,并改名字为原名
>cp -R dir1/dir2
dir3/newdir //dir2复制dir3下,并改名字为newdir
>cp -R dir1/dir2 newdir //dir2复制到当前目录,并改名为newdir
>cp dir1/filea dir2 //复制文件a到dir2目录,并改名为原名
>cp dir1/filea dir2/dir3/newfile //filea复制到dir3下,并改名为newfile
⑤删除操作 remove
-f force强制的 删除隐藏的文件
-r 删除非空的
>rm file //删除file文件
>rm -r dir//删除目录
>rm -rf filename//递归强制删除文件(目录)
>rm -rf ///递归强制删除“/斜杠”根目录
11.文件简单操作
①文件内容查看
>cat filename //一次性把全部内容都输出到终端
>more filename //通过敲回车方式逐行查看文件内容 q键结束查看
>less filename//"上下左右" 键方式查看文件部分内容(支持会看)q键结束查看
>head -n filename //查看文件前(n)行内容
>tail-n filename //查看文件前(n)行内容
>wc filename //查看文件行数
②文件创建
>touch filename //在当前目录创建filename文件
>touch dir/filename
//在指定目录下创建filename文件
>touch /home/jinnan/dir/newfile //通过绝对路径方式创建filename文件
③给文件追加内容
>echo 内容 >文件 //把“内容”以覆盖写方式添加到文件中文件如果不存在会自动创建该文件
>echo 内容 >>文件 //把“内容”以追加写方式添加到文件中文件如果不存在会自动创建该文件
12.用户操作(创建、修改、删除)
对应的配置文件:/etc/passwd
①创建useradd
>#useradd -g 组编码 -d 家目录 -u 用户编号 用户名
>#useradd 用户名
②修改用户
>usermod -g 组别 -d 家目录(手动创建) -u 用户编号 -l 新用户名 要修改的用户名
③删除userdel
>userdel -r 用户名 //删除用户信息同时“家目录”也删除
13.用户操作(创建、修改、删除)
对应的配置文件:/etc/group
①创建groupadd
>#groupadd 组名
②修改groupmod
>groupmod -g 新编号 -n 新名字 组名
③删除groupdel(注意:组里边存在用户信息禁止删除)
>groupdel 组别
密码设置 passwd 用户
14.查看指令可用参数
>man 指令
15.权限操作
1)字母相对方式设置权限
>chmod u+/-rwx,g+/-rwx,o+/-rwx filename
>chmod u+r,u-x filename
>chmod +w,-x filename
组别每次可以设置一个或多个
具体权限(rwx)可以一次性设置一个或者多个
+/-增加、减少权限需要分别设置
可以统一为各个组别设置上统一的权限
普通用户只能给自己“家目录”的文件设置权限
2)数字绝对方式设置权限
读:4
写:2
执行:1
0----->没有权限
1----->执行权限
2----->写权限
3----->写、执行权限
4----->读权限
5----->读、执行权限
6----->读、写权限
7----->读、写、执行权限
>chmod ABC filename
ABC是三个数字,分别代表主人、同组、其他组用户权限
>chmod 642 passwd
主人:读、写
同组:读
其他:写
字母和数字两种方式的取舍
①权限修改较少使用字母方式
②权限修改较多使用数字方式
16.在指定文件中搜寻内容
>grep 被搜索的内容 文件/文件路径
>date //查看系统时间
>date -s "2013-02-02
19:42:30" //设置系统时间
>kill -9 pid
//杀死进程
>ps -A //查看系统活跃进程
17.find文件查找指令
>find 被查找目录 选项 选项值【选项 选项值 选项 选项值】
具体选项:
-name 文件名字 //直接根据文件名字查找文件
eag:>find / -name passwd
eag:>find ./ -name "o*" //在当前目录下模糊查找o字符作为开始内容的文件名字
-size 大小 //直接根据文件大小查找文件
单位:默认512字节
100c 字节单位(大小:100*1)
12k 千字节单位(大小:12*1024)
35k 512字节(大小:35*512)
5m 兆字节(大小:5*1024*1024)
eag:>find ./ -size 23c //找到大小为字节的文件
范围:+/-
>find ./ -size +7k //找到大小大于7k的文件
-maxdepth 层次 //限制最深层次查找文件
eag:>find / -maxdepth 4 -name passwd //限制最深为4个目录层次,进 行passwd文件查找
-mindepth 层次 //限制最浅层次查找文件
eag:>find / -mindepth 3 -maxdepth 4 -name passwd //限制最深为4个目录层次,进行passwd文件查找
-perm 权限 //把符号某个权限的文件给找出来
-user 主人名字 //通过主人查找文件
-group 组名字 //通过组别查找文件
-type f/d //根据文件/目录
18.任务调度指令
查看调度信息
shell ># crontab -1
编辑调度信息
shell ># crontab -e
eag: 分钟 小时 日期 月份 星期 指示命令
组别更改
19.whereis 搜索命令
whereis 查看文件的位置。
20.grep
# 在文件中搜索一个单词,命令会返回一个包含“match_pattern”的文本行:
grep "match_pattern" file_name
统计日志200数量
grep '200' access.log | wc -l
# 在多个文件中查找
grep "match_pattern" file_1 file_2 file_3 ...
# 输出除之外的所有行 -v 选项
grep -v "match_pattern" file_name
# 使用正则表达式 -E 选项
grep -E "[1-9]+"
egrep "[1-9]+"
# 只输出文件中匹配到的部分 -o 选项
grep -o "match_pattern" file_name
# 统计文件或者文本中包含匹配字符串的行数 -c 选项
grep -c "text" file_name
# 输出包含匹配字符串的行数 -n 选项
grep "text" -n file_name
cat file_name | grep "text" -n
grep "text" -n file_1 file_2
# 打印样式匹配所位于的字符或字节偏移
echo gun is not unix | grep -b -o "not"
# 搜索多个文件并查找匹配文本在哪些文件中
grep -l "text" file1 file2 file3...
# 在多级目录中对文本进行递归搜索
grep "text" . -r -n
# 忽略匹配样式中的字符大小写
echo "hello world" | grep -i "HELLO"
# 选项 -e 制动多个匹配样式
echo this is a text line | grep -e "is" -e "line" -o
#只在目录中所有的.php和.html文件中递归搜索字符"main()"
grep "main()" . -r --include *.{php,html}
#在搜索结果中排除所有README文件
grep "main()" . -r --exclude "README"
#在搜索结果中排除filelist文件列表里的文件
grep "main()" . -r --exclude-from filelist
#不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试
grep -q "test" filename
二.Linux根目录介绍
1./bin binary 二进制存放系统许多可执行程序文件执行的相关指令
例如ls pwd whoami,后台的支持文件目录
2./sbin super binary 超级的二进制存放系统许多可执行程序文件,许多指令支持文件,是root管理员执行指令的支持文件,例如init
3./usr unix system resource 操作系统资源文件目录类似Windows系统的C:/Program Files 目录是系统软件安装
/usr/bin 软件安装时形成的“普通指令”存放目录
/usr/sbin 软件安装时形成的“超级指令” 存放目录
4./dev device 设备目录系统把全部的硬件映射为文件存储在此目录
例如:/dev/cdrow 用于指向“光驱”
5./home 家目录
每个系统增加一个用户都会在此目录下创建一个“同名”目录,作为给用户的家目录使用,该目录对家目录拥有绝对权限,用户每次登陆系统首先会进入其家目录。
6.root 超级管理员root的家目录
7.proc 内存映射目录
可以查看系统的相关映射信息
8./var variable可变的、易变得 该目录存放的文件经常发生变动
该目录用于部署项目
/var/www/shop
/var/www/book
9./boot 系统启动目录
/boot/initramfs-2.6.32-504.e16.i686.img 是系统内核文件
10./etc 系统主要配置文件目录
/etc/passwd 存放系统的用户信息
/etc/group 存放系统用户组信息
11./lib library 系统资源库目录
12./selinux secure enhanced linux安全增强型linux
默认是开启状态,对软件安装有干扰作用
注意:经常使用目录
home 家目录
dev 系统挂载目录
var 项目文件目录
etc 系统配置文件目录
usr 软件安装目录
三、vi编辑器
1. 命令模式 与 编辑模式切换
a:光标向后移动一位进入编辑模式
i:光标和内容 没有变化进入编辑模式
o:新起一行进入编辑模式
s:删除光标所在字符进入编辑模式
2. 尾行模式操作
:w //对编辑后的文档进行保存
:q //退出vi编辑器
:wq //保存并退出编辑器
:q! //强制退出(不保存)
:w! //强制保存
:wq! //强制保存退出
:set number 或 nu //给编辑器设置行号
:set nonumber 或 nonu //取消行号设置
:n(数字) //光标定位到第n行
:/内容/ 或 /内容 //内容查找(n下一个 N上一个)
3.内容替换(cont1替换cont2)
:s/cont1/cont2/ //替换光标所在行的第一个目标
:s/cont1/cont2/g //替换光标所在行的全部目标
:%s/count1/cont2/g //替换整个文档的全部目标
4.命令模式操作
1)光标移动
①字符级
上(k)下(j) 左(h) 右(l) 键
②单词级
w:word下个单词首字母
b:before上(本)个单词首字母
e:end下(本)个单词尾字母
③行级
$:定位到行尾
0:定位到行首
④段落级(翻屏)
{:上(本)个段落首部
}:下(本)个段落w尾部
⑤屏幕级(不翻屏)
H:当前屏幕首部
L:当前屏幕尾部
⑥文档级
G:文档尾部
1G:文档首部
nG:文档的第n行
2)删除内容
dd 删除光标当前行
n+dd 向后删除n行内容(包括本行)
x 删除光标所在的字符
c+w 从光标所在位置删除至单词结尾同时变为编辑模式
3)复制内容
yy 复制光标当前行
n+yy 向后复制n行内容(包括本行)
p 对复制后的内容进行粘贴
4)快捷操作
r+字符 快速替换单个字符
u 撤销undo
. 点,重复执行上一次命令
J 大写J,合并两行
四、管道的使用
其中的许多指令(grep head tail wc ls等等)都可以当做管道符号使用
ls -l | wc //计算当前目录文件行数
ls -l | head -5 //查看当前目录前5个文件
ls -l | head -30 | tail -5 //查看当前目录第26到第30行的文件
grep this apple.txt | grep was //在apple.txt 文件中查找一行,该行既出现 this 又出现 was字样