常用命令:
1. 查看目录下有什么文件
> ls //list查看"当前"目录下有什么文件
> ls 目录 //查看指定目录下文件信息
> ls -a //all查看目录下全部文件(包括隐藏文件)
> ls -l 或 ll //以“详细列表”形式查看文件名字内容
> ls -al //查看当前目录下"全部文件",并以"详细列表"形式展示出来
> ls -i //index查看文件索引号码
> ls -li //以“详细列表”形式查看文件名字,并显示索引号码
2. 目录切换
cd 目录名称
>cd .. //上级目录切换
> cd ~ //回到用户的家目录
3. 获得当前操作的目录位置
> pwd
4. 用户切换
su 用户名
> su - //切换到root用户
> su - root //同上
su root //root用户切换,在有的linux系统效果是:用户是root,权限是普通的
> su 普通用户 //没有"横线"
> exit //退回到上一个用户
//su和exit要配对使用,如果使用多个su,会造成用户叠加
jinnan-->root-->jinnan-->root-->jinnan
5. 查看当前操纵者信息
> whoami //我是谁
6. 桌面模式 与 命令模式的切换(root用户操作)
># init 3
># init 5
7. 查看文件内容
> cat filename //把文件内容输出到终端查看
8. 查看文件占据磁盘空间大小
> du -h 文件
9. 目录操作
1) 创建目录 make directory
> mkdir dirname
> mkdir dir/newdir //在dir下创建一个newdir
创建多级目录,如果"新目录"个数大于1个数量,就要设置"-p"参数
> mkdir -p newdir/newdir/newdir //创建多级递归目录
> mkdir -p dir/newdir/newdir //创建多级递归目录
> mkdir -p dir/newdir/newdir/newdir
2) (文件/目录)移动-改名字 操作 move
> mv dir1 dir2 //dir1移动到dir2目录下,并改名字为“原名”
> mv dir1 dir2/newdir //dir1移动到dir2目录下,并改名字为“newdir”
> mv dir1 newdir //dir1移动到当前目录下,并改名字为“newdir”
> mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并改名字为“原名”
> mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并改名字为“newdir”
3) (文件/目录)复制-改名字 操作 copy
文件复制
> cp file1 dir1 //file1被复制到dir1下,并改名字为“原名”
> cp file1 dir1/newfile //file1被复制到dir1下,并改名字为“newfile”
> cp dir1/file1 dir2/dir3 //file1被复制到dir3下,并改名字为“原名”
> cp dir1/file1 dir2/dir3/newfile //file1被复制到dir3下,并改名字为“newfile”
目录复制,统一设置-r参数 recursive递归地 (无视目录层次)
> cp -r dir1 dir2 //dir1被复制到dir2下,并改名字为“原名”
> cp -r dir1 dir2/newdir //dir1被复制到dir2下,并改名字为“newdir”
> cp -r dir1/dir2 dir3/dir4 //dir2被复制到dir4下,并改名字为“原名”
> cp -r dir1/dir2 dir3/dir4/newdir //dir2被复制到dir4下,并改名字为“newdir”
> cp -r dir1/dir2 newdir //dir2被复制到当前目录下,并改名字为“newdir”
4) 删除(文件/目录)
> rm file //删除文件
> rm -r dir //删除目录
> rm -rf filename //recursive force 递归、强制 删除文件
//-f force 避免 “进入目录、删除隐藏文件” 的提示
> rm -rf / //kill you by your self
10. 文件操作
1) 查看文件
> cp /etc/passwd ./ //复制passwd文件到当前目录
> cat filename //输出文件内容到终端
> more filename //敲回车,逐行查看文件的内容
//不支持回看
//q键,退出查看
> less filename //通过"上 下 左 右"键的方式,查看文档的各个部分内容
//支持回看,q键退出查看
> head -n filename //查看文档的前n行内容
> tail -n filename //查看文档的末尾n行内容
> wc filename //计算文件行数
2) 创建文件
> touch filename //创建一个文件
3) 给文件追加内容
echo 内容 >/>> 文件
> echo dog > animal.txt //把dog内容以"覆盖写"方式追加到animal.txt文件中
//如果animal.txt文件不存在会"自动创建"
> echo htc >> order.txt //把htc内容以"纯追加"方式设置到order.txt文件中
//order.txt文件不存在,会自动创建
11. 用户操作(root)
用户:user
增加:add 修改:mod(ify) 删除:del(ete)
配置文件:/etc/passwd
1) 增加用户 useradd
> useradd xiaogang //增加一个xiaogang用户,会创建一个同名的组
//没有设置用户的组别,就会创建同名组
> useradd -g 组别编号 liming //创建liming用户,并设置其组别(避免创建同名组)
> useradd -u 用户编号 -g 组编号 -d 家目录 用户名
2) 修改用户 usermod
> usermod -u 用户编号 -g 组编号 -d 家目录 -l 新名字 用户名
//如果修改家目录,需要手动创建(不同于增加用户)
3) 删除用户 userdel
> userdel 用户名 // /etc/passwd的配置用户信息会删除(保留家目录,可以手动删除)
> userdel -r 用户名 // 用户信息 和 其家目录 都删除
12. 组别操作(root)
组别:group
配置文件:/etc/group
1) 增加组别 groupadd
> groupadd music //创建一个music组别
2) 修改组别 groupmod
> groupmod -g 组编号 -n 新名字 组名
3) 删除组别 groupdel
> groupdel 组名
//组下存在对应的用户信息,禁止删除
13. 权限操作
1) 字母相对方式设置权限
权限只是针对局部有发生影响
chmod u+/-rwx ,g+/-rwx ,o+/-rwx 文件
组别:ugo可以设置多个或一个
权限:rwx 可以设置一个或多个
增减权限: + - 号 在每个组别里边只能用一次
> chmod u+rw filename //给文件主人增加 读、写 权限
> chmod u+x,g-rx filename //主人增加执行,同组用户去除 读、执行 权限
> chmod u+r,u-x filename //主人增加 读 权限、去除 执行 权限
2) 数字绝对方式设置权限
权限发生影响的范文是“全部”
4:Read读 2:Write写 1:eXecute执行
具体权限:
0->没有任何权限
1->执行
2->写
3->写、执行
4->读
5->读、执行
6->读、写
7->读、写、执行
chmod ABC filename //ABC分别代表主人、同组、其他组用户权限数字信息
> chmod 753 filename //主人:读、写、执行
同组:读、执行
其他组:写、执行
字母与数字方式的取舍:
① 文件权限修改较少使用“字母方式”
② 文件权限修改较多使用“数字方式”
14. 文件内容查找
grep 内容 文件 //在文件中搜寻指定“内容”,会把“内容”所在行的信息都打印到终端
> grep itcast passwd //在passwd文件中搜寻itcast内容
15. 查找指令对应的执行程序文件
> which 指令
16. 查看文件/目录占据磁盘空间大小
硬盘空间被格式化为小格子,每个小格子默认大小为4k(4096个字节)
文件大小如果不足4k,则分配一个格子大小进行存储
如果文件大小超过格子,则分配大于文件大小的整数倍的格子空间
> du -h 文件
17. 文件查找find
find 查找目录 选项 选项值 选项 选项值....
> find / -name passwd //在/斜杠 根目录下查找文件名称为passwd的文件
//该指令效率低,其要在"递归遍历"系统全部目录进行文件查找
选项:
-name 根据文件名称查找文件
通过“完整”文件名称进行查找
> find ./ -name order.txt //在当前目录下查找文件名称等于'order.txt'的文件
//需要递归遍历当前目录下的所有“子级目录”
根据"模糊"名称查找文件,不确定名称使用"*"号代表
> find ./ -name "guang*" //在当前目录下查找名称以"guang"为开始的文件
-maxdepth 限制查找文件的最深目录层次
> find / -maxdepth 4 -name passwd //在小于等于4个目录层次之间寻找passwd文件
-mindepth 限制查找文件的最浅目录层次
> find / -mindepth 3 -maxdepth 4 -name passwd //在3到4个目录层次之间寻找passwd文件
-size 根据文件大小查找
> find ./ -size -100c //在当前目录下查找大小【小于】100个字节的文件
> find ./ -size 26c //在当前目录下查找大小【等于】26个字节的文件
> find ./ -size +26c //在当前目录下查找大小【大于】26个字节的文件
单位:
100-----> 512字节 == 100*512字节
100c----> 字节 == 100字节
100k----> 千字节 == 100*1024字节
100M----> 兆 == 100*1024*1024字节
18. 显示进程
命令:ps
显示所有进程信息-命令:ps -A
显示指定用户信息-命令:ps -u root
显示所有进程信息,连同命令行-命令:ps -ef
ps 与grep 常用组合用法,查找特定进程-命令:ps -ef|grep ssh
将目前属于您自己这次登入的 PID 与相关信息列示出来-命令:ps -l
输出:
[root@localhost test6]# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash 4 R 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps |
各相关信息的意义:
F //代表这个程序的旗标 (flag), 4 代表使用者为 super user
S //代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID //程序被该 UID 所拥有
PID //就是这个程序的 ID !
PPID //则是其上级父程序的ID
C //CPU 使用的资源百分比
PRI //这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI //这个是 Nice 值,在下一小节我们会持续介绍
ADDR //这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ // 使用掉的内存大小
WCHAN //目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY //登入者的终端机位置
TIME //使用掉的 CPU 时间。
CMD //所下达的指令为何
在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。
19. 终止进程
命令:kill
格式:kill [option] pid
功能:向指定的进程送信号或终止进程。kill指令的用途是送一个signal给某一个process,
因为大部份送的都是用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill
选项:-9 强行终止进程
注释:pid标示进程号,可由ps命令得到。
例如:% kill -9 pid
你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形请参阅 man kill。
20. 查看自己的IP地址
命令:centos7下查看:ipconfig
21. 查看路由表
当我们执行netstat命令显示 -bash: netstat: command not found
这是由于网络工具没有安装.执行下面命令就可以了.
yum install net-tools
常见参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
显示核心路由信息 netstat -r
列出所有端口 netstat -a
列出所有 tcp 端口 netstat -at
列出所有 udp 端口 netstat -au
只显示监听端口 netstat -l
只列出所有监听 tcp 端口 netstat -lt
只列出所有监听 udp 端口 netstat -lu
只列出所有监听 UNIX 端口 netstat -lx
显示所有端口的统计信息 netstat -s
显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su
在 netstat 输出中显示 PID 和进程名称 netstat -p
找出运行在指定端口的进程 netstat -an
22. 远程登录
命令:telnet
格式:telnet hostname
23. 文件传输
命令:ftp (file transfer program)
格式:ftp hostname
功能:网络文件传输及远程操作。
选项:ftp命令:
cd [dirname] 进入远程机的目录
lcd [dirname] 设置本地机的目录
dir/ls 显示远程的目录文件
bin 以二进制方式进行传输
asc 以文本文件方式进行传输
get/mget 从远程机取一个或多个文件
put/mput 向远程机送一个或多个文件
prompt 打开或关闭多个文件传送时的交互提示
close 关闭与远程机的连接
quit 退出ftp
!/exit ftp登陆状态下,!表示暂时退出ftp状态回到本地目录,exit表示返回ftp状态
注释:
例如:% ftp hostname
24. 搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:-i 匹配时忽略大小写
-v 找出模式失配的行
例如:% grep -i 'java*' ./test/run.sh
25. 启动、关闭防火墙
永久打开或则关闭
chkconfig iptables on
chkconfig iptables off
即时生效:重启后还原
service iptables start
service iptables stop
或者:
/etc/init.d/iptables start
/etc/init.d/iptables stop
26. 启动VSFTP服务
即时启动: /etc/init.d/vsftpd start
即时停止: /etc/init.d/vsftpd stop
开机默认VSFTP服务自动启动:
方法一:(常用\方便)
[root@localhost etc]# chkconfig --list|grep vsftpd ( 查看情况)
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost etc]# chkconfig vsftpd on (执行ON设置)
或者:方法二:
修改文件 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入文件中,以实现开机自动启动。
根目录:
1 /bin
binary 二进制
许多“指令”对应的可“执行程序文件”目录
ls pwd init等等
2. /sbin
super binary 超级的 二进制
许多“指令”对应的可“执行程序文件”目录
该目录文件对应指令都是"root"用户可以执行的指令
例如:init
3. /usr
unix system resource (unix系统资源文件目录)
该目录类似win系统的 C:/Program files 目录
该目录经常用于安装各种软件
软件安装完毕会形成对应的指令,该指令对应的可执行程序文件就存放在以下目录
/usr/bin
许多“指令”对应的可“执行程序文件”目录
/usr/sbin
root用户执行的指令 对应的 可“执行程序文件”目录
4. /dev
device 系统硬件设备目录(linux系统所有的硬件都通过文件表示)
例如:/dev/cdrom是光驱
/dev/sda 是第一块scsi硬盘
5. /home
普通用户的"家目录"
给系统每增加一个“普通用户”的同时,都会在该目录为该用户设置一个文件目录
代表该用户的“家目录”,用户后期使用系统的时候会首先“进入”其家目录
家目录名字默认与当前用户名字一致
用户对家目录拥有绝对最高的权限。
6. /root
该目录是root管理员的家目录,root用户登录系统后首先进入该目录
7. /proc
内存映射目录,该目录可以查看系统的相关硬件信息
8. /var
variable 可变的、易变的
该目录存储的文件经常会发生变动(增加、修改、删除)
经常用于部署项目程序(php)文件
/var/www/shop
/var/www/book
9. /boot
系统启动核心目录,用于存储系统启动文件
10. /etc
系统主要配置文件目录
例如:
/etc/passwd 用于存储用户信息的文件
/etc/group 用于存储组别信息的文件
11. /lib
library
系统资源文件类库目录
12. /selinux
secure enhanced linux 安全增强型linux
对系统形成保护
会对给系统安装软件时有干扰作用
vi编辑器:
1. 切换到编辑模式(四种方式)
a: 光标后移一位
i: 光标和所在内容没有任何变化
o: 另起一个新行
s: 删除光标所在的一个字符
esc : 编辑"退回"到命令模式
2. 尾行模式操作
:w 保存文档
:q 退出vi编辑器
:wq 保存并退出
//对文档没有操作权限,可以强制执行
:w! 强制保存
:q! 强制退出(不保存修改,直接强制退出)
:wq! 强制保存并退出
:set number 或 set nu 给编辑器设置行号
:set nonumber 或 set nonu 取消行号设置
:数字 光标跳转到数字所在行
:/内容/ 或 /内容 在文档中寻找指定内容,给翻屏查找
小写n 下一个
大写N 上一个
//字符串替换操作,cont2去替换cont1内容
:s/cont1/cont2/ 替换光标当前行的"第一个"cont1为cont2
:s/cont1/cont2/g 替换光标当前行的"全部"cont1为cont2
:%s/cont1/cont2/g 替换“整个文档”的cont1为cont2
命名模式下的撤销操作
u 小写u
3. 命名模式操作
1) 光标移动
a.字符级移动
上(k) 下(j) 左(h) 右(l)键
b.单词级
w word下个单词首字母
b before上个(本)单词首字母
e end下个(本)单词尾字母
c. 行级
0 行首
$ 行尾
d. 段落级(内容之间有空白行)
{ 上个(本)段落首部
} 下个(本)段落尾部
e. 屏幕级(不翻屏)
H 屏幕首部
L 屏幕尾部
f. 文档级
G 文档尾行
1G 文档首行
nG 文档第n行
2) 删除内容
dd 删除光标当前行
ndd 从光标当前行向后删除n行内容
x 删除光标所在的字符
cw 从光标所在位置删除至单词结尾,并进入“编辑”模式
(该方式方便删除“单个单词”)
3) 复制内容
yy 复制光标当前行
nyy 从光标当前行向后复制n行内容
p 对复制(删除)好的内容进行粘贴操作
4) 快捷操作
u undo撤销
r 替换单个字符
J 合并上下两行
.点 重复执行上个指令