第三讲 Linux指令
Linux指令
linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植的操作系统接口) 和 UNIX 的多用户
多任务、支持多线程和多 CPU 的操作系统;
OS(Operating System):常见的操作系统有哪些?都是Linux不同的操作版本
centOS 6.5
redhat 4.9
ubuntu 14
FreeBSD
Linux系统在公司一般用作服务器
运维人员一定要掌握Linux
linux 客户端连接工具:
SSH,Xshell(Xmanager 的一个组件),CRT
在Xshell上输入“ssh +ip地址”可快速连接至虚拟机上
注:如SSH连接失败先执行下一步在连接。
解决方法:确定SSHD服务开启没;
开启命令:/etc/init.d/sshd restart 重启
Linux常用指令归纳:
注:当有#符号时,表示此时为超级用户;当有$符号时,表示此时为普通用
常用指令
pwd :显示当前所在目录的绝对路径
/ :根目录
. :当前目录
.. :当前目录父目录(上一级目录 cd ../ 返回根目录
~:表示家目录,就是宿主目录 cd ../.. 返回上两级目录
ls 显示文件或目录 ,但是不包含隐藏的文件
-rtl 根据时间排序显示
-l 列出文件详细信息l(list) ll=ls -l
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
第一个单词为d—目录;--为普通文件;l为链接文件。
Cd ../.. 回到上两级目录
输入一部分命令,然后按住TAB键,会自动补齐剩余的命令
eg: drwxr-xr-x. 4 root root 4096 May 2 06:14 wangzhiqiang
d:文件类型(表示目录)
前三位:rwx:文件属主有读写执行的权限, (u:用户自己(文件属主))
中间三位:r-x:用户所在的组用户只有读和执行的权限,(g:用户所在组)
后三位:--x :其它用户只有执行的权限, (o:其它用户)
rwx read=4 write=2读,写,execute=1 执行
Vim aa.txt: 编辑文档
vim编辑模式
1、在Linux中输入命令:vim aa.txt 按确定键
2、进入到编辑模式输入一个英文字符i 表示insert插入的意思
3、输入内容后按Ctrl+c 表示保存不要按Ctrl+s
4、保存后按CapsLock+大写的ZZ保存并退出编辑界面
mkdir 创建目录
-p a/b/c 创建连接目录 -p a/ b/ c 一个文件目录同时添加三个文件
cd 进入目录
touch 创建空文件
less 查看文件内容,可以上下左右翻页
more 查看文件内容 more.aa.txt : 查看文件可以以百分比的形式
cat 查看文件内容cat aa.txt,显示所有内容并显示打印在控制台
cat aa.txt> bb.txt 一个重定向符,当目标文件不存在时,首先创建目标文件并把aa.txt中的内容复制到bb.txt当中;
cat aa.txt> cc.txt 当目标文件存在时会把目标文件的内容覆盖,也就是aa.txt当中的文件会代替cc.txt的文件内容。
cat aa.txt>> dd.txt 两个重定向符,当目标文件不存在时,首先创建目标文件并把aa.txt中的内容复制到dd.txt当中;
cat aa.txt>> dd.txt 两个重定向符,当目标文件存在时,会把目标文件的内容追加在目标文件已有内容的后面,也就是aa.txt当中的文件会追加到dd.txt文件的内容后面。
cp ( copy ) 拷贝
[root@localhost xiaowang]# cp xiaoliu wzq ---将xiaoliu文件拷贝到wzq目录下
mv 移动或重命名,移动的时候移动把根目录带上,例如把a里面的xx文件转入b,则mv xx /b/
rm 删除文件,不能删除目录
-rf 强制删除(文件和目录都可以删除) rm -rf * : *代表通配符,表示为所有
-i 提示性删除(不能删除目录)
-r 逐级删除直到全部删除( 从里到外的删除)
find 在文件系统中搜索某文件
1TB=1024GB
1M=1024KB
1KB=1024byte字节
1byte=8bit(位)
“*”表示 0 个或多个字符匹配
“?”表示单个字符匹配,
ps -ef |grep 80 只查80端口(重点),正在被哪个应用程序所占用,电脑里有65535个端口号
l--叫做管道符,l管道符左边命令查找出来的结果作为右边命令的输入
grep:文本搜索工具 根据用户指定模式搜索
wc 统计文本中行数、字数、字节或者字符数
-l 统计行数
-c 统计字节数
nl 显示多少行,将详细信息也显示
rmdir 删除空目录(只能删除空目录 )
pwd 显示当前目录
ln 创建链接文件
-s 软链接,即快捷方式(接绝对路径,可以针对文件和目录创建软链接)在同级目录下,可以用相对路径
-d 硬链接(只能针对文件,不能对目录操作,相当于就是备份)
eg: [root@localhost xiaowang]# ln -s wzq zhiqiang
lrwxrwxrwx. 1 root root 3 May 3 05:24 zhiqiang -> wzq
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容,head aa.txt默认显示aa.txt文本内容的前十行,tail从底部开始显示文件内容尾十行。
linux 如何显示一个文件的某几行(中间几行)
【一】从第3000行开始
,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
date 显示时间
date -s '2016-09-01 11:27:00' root 用户修改系统时间
系统管理命令
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
getconf LONG_BIT 显示内核信息
top 动态显示当前耗费资源最多进程信息
eg:[root@localhost /]# top -d 10 每隔10s刷新一次
英文意思:pid:进程号 command :命令
ps 显示瞬间进程状态
ps –aux 列出目前所有的正在内存当中的程序 (a:显示其它用户启动进程 x:查看系统中属于自己的进程 u:启动这个进程的用户和它启动的时间)
free -m 查看服务器内存使用
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
[root@localhost xiaowang]# ifconfig eth0 192.168.1.111 netmask 255.255.255.0 改临时IP,netmask 子网掩码的意思
service network restart:重启网卡
ping 测试网络连通
netstat -anp 查看所有端口号(LISTEN表示端口被占用当中,最后一列显示被哪个服务所占用,显示的 LISTENING 并不表示端口被占用,不要和 LISTEN 混淆)
-at 列出tcp所有的端口号
[root@localhost bin]# netstat -anp|grep 8080
tcp 0 0 :::8080 :::* LISTEN 3442/java
显示8080端口正被java程序所占用
netstat -nultp 查看当前所有已经使用的端口情况
lsof –i :80 通过端口号查看应用程序,,,
注:端口号的作用,主要是区分服务类别和在同一时间进行多个会话。
ps -ef|grep 8080 通过端口号和服务器进程的名称查看应用程序,grep关键字搜索
clear 清除当前屏幕的信息
reset 清楚屏幕上显示的所有信息
history 打印历史命令
-c 清除历史命令
alias 对命令重命名 如:alias if=ifconfig,另外解除使用unalias
unalias 取消别名: unalias if
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
Kill -9 不建议使用;当使用kill无法将进程杀死才使用该命令;
fdisk 格式化文件系统
reboot 重启
shutdown -h now 立即关机
shutdown -h 120 2 分钟后关机
init 0 关机 init是初始化的意思
打包压缩相关命令
1、tar包
tar -cvf hello.tar hello.txt
把hello.txt文件打成一个tar包并帮这个包取一个名字叫做hello.tar
tar -xvf hello.tar
把hello.tar这个压缩包进行解压
2、tar.gz包
tar -zcvf hello.tar.gz hello.txt
把hello.txt文件打成一个tar.gz包并帮这个包取一个名字叫做hello.tar.gz
tar -zxvf hello.tar.gz
把hello.tar.gz这个压缩包进行解压
3、zip包
zip hello.zip hello.txt
把hello.txt这个文件打成一个zip包 并取名字叫hello.zip
unzip hello.zip
把hello.zip 这个压缩文件进行解压
4、gzip包
gzip hello.txt 把hello.txt 这个文件打成一个gz包 (源文件会被删除)
gunzip hello.txt.gz 把压缩包进行解压 (源文件出现,hello.txt.gz这个包会被删除)
总结:
tar tar.gz zip包都可以将文件或者目录进行打包处理
gzip只能将文件进行打包,不能将目录进行打包。
rpm -ivh xxxx.rpm :安装 rpm 包 i:安装 v:进度 h:进度条
yum install lrzsz : yum install :在线安装指令 lrzsz: l:linux rz:本地往linux中上传文件, sz:linux往本地下载文件 lrzsz:上传和下载的工具
mysql:rpm -aq|grep -i mysql :查询已经安装的mysql的程序包
用户及用户组管理
cat /etc/passwd 存储用户账号,所有用户1-499不允许登录,500以上普通用户
cat /etc/group 存储组账号
cat /etc/shadow 存储用户账号的密码
cat /etc/gshadow 存储用户组账号的密码
useradd +用户名 增加用户名
adduser+用户名 增加用户名
passwd +用户名 修改用户的密码
彻底删除一个用户:
cd /usr/sbin
(某些系统版本为bin文件夹)
在这里输入: ./userdel -r 用户名 (前面的./一定要加上)
groups+用户名:查用户属于哪个组
userdel +用户名 删除用户名
groupadd 组名 添加用户组
groupdel 组名 删除用户组
passwd root 给root设置密码
把用户加入到组:
gpasswd -a 用户 组名 把XX用户添加到XX组
把用户从组删除
gpasswd -d 用户 组名 把XX用户从XX组删除
三剑客(针对文件和目录):
chmod 修改文件权限, chown 改变文件的属主 chgrp 改变文件属组
d:文件类型(表示目录) l:表示链接文件 -:表示普通文件
前三位:rwx:文件属主有读写执行的权限
中间三位:r-x:用户所在的组用户只有读,执行权限
后三位:--x :其它用户只有执行的权限
Eg:drwxr-x--x. 2 root root 4096 May 13 23:39 bin
rwx read=4 读,write=2 写,execute=1 执行
[root@localhost xiaowang]# chmod -R 777 yy 修改yy目录以及yy目录下所有文件的权限
drwxrwxrwx. 2 root root 4096 May 2 06:35 qq
[root@localhost dcs36]# chmod 777 a 修改 a目录的权限但是a目录下面文件的权限不变
chmod 改变权限
chown change owner 改变属主
chgrp change group 改变属组
读写执行权限详细解释:
drwxr-x--x. 2 root root 4096 Feb 22 23:00 dcs36
1.表示root用户对dcs36目录有读写执行的权限
2.表示和root用户在同一个组的其他用户对dcs36目录
有读和执行的权限,但是没有写的权限。
3.其他用户(去掉root用户和root用户在同一个组的其他用户)对
dcs36目录只有执行的权限。
读(r):可以对文件执行 cat、more、less、head、tail 等文件查看命令。
写(w):可以对文件执行 vim修改文件数据的命令。但不能删除文件本身。
执行(x):对文件拥有了执行权限。比如shell脚本运行./+文件名.sh。
关于隐藏文件
显示隐藏文件: ls -a
把隐藏文件显示就 mv .ff.txt ff.txt
cat /etc/group|grep xiaoqiang 查看xiaoqiang组的gid即小组的id
awk -F":" '{print $1"/t/t"$4}' /etc/passwd | grep '506'
通过组id 506查到组内的用户
如下:
[root@localhost xiaoqiang]# awk -F":" '{print $1"/t/t"$4}' /etc/passwd | grep '506'
xiaoqiang/t/t506
xiaoyi/t/t506
xiaosan/t/t506123456
方法一:sftp: 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。
sftp root@+对方IP 在sftp环境下操作自己的机器需要在指令前加“l”如‘lls’
passwd:对方密码
登入后如下:
sftp>
eg:sftp> get /var/www/fuyatao/index.php /home/fuyatao/
这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php 下载到本地 /home/fuyatao/目录下。
sftp>put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatasftp o/
这条语句将把本
地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远程主机/var/www/fuyatao/ 目录下。
退出sftp :exit
方法二:scp:可以在2个linux之间复制文件(直接在本地root目录下输入以下命令)
eg:scp /wangzhiqiang/xiaowang/yy root@IP(对方的IP): /home/xiaoliu 将本机下的“yy”文件拷贝到对方的“xiaoliu”目录下
eg:scp root@ IP(对方的IP): /home/xiaoliu /yy /wangzhiqiang/xiaowang 将对方下的“yy”文件拷贝到本机的“xiaowang”目录下