第四讲 Linux常用命令
4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls
clear 清屏命令
ls -l #l代表long
ls -a #a代表all
ls -h #h代表human 人性化显示(更改文件大小显示格式)
ls -ld #
ls -i #查询文件的iNode
ls -l的意义
- --- --- ---
-代表文件类型:-为二进制普通文件 l为软连接 d为文件夹
第一个三个-代表u user权限
第二个三个-代表g group权限
第三个三个-代表o other权限
r 读
w 写
x 执行
4.1.2 Linux常用命令-文件处理命令-目录处理命令
mkdir 目录创建命令
mkdir abc#在当前目录创建abc目录
mkdir -p abc/abc/aa #在当前目录递归创建文件夹
mkdir abc abd#在当前目录同时创建abc和abd目录
cd 目录切换命令
cd 目录名
cd ..#返回上一层
. 当前目录
pwd #print working directory
rmdir #remove empty directories 目录删除命令
rmdir 文件名
cp copy命令
cp 文件路径 目的地 #复制文件
cp -r /abc/abc/aa /tmp#复制目录
cp /abc/a.log /abc/b.log /tmp #同时复制多个文件
cp -p /abc/a.log /abc/b.log /tmp #保持和原文件属性一致
#复制同时改名
cp -r /abc /tem/abc #abc原来不存在
mv move改名和剪切命令
rm 删除命令
rm -r #删除目录
rm -f #强制执行
4.1.3 Linux常用命令-文件处理命令-文件处理命令
touch filename#文件创建
cat -n #读取文件 -n显示行数
tac #反向显示
more #分页显示文件 可以向下翻页但不能回头(回车一行行看 空格翻页看) q 退出
less #可以回退看 ↑可以回退看 ↓可以向下看 /关键字 可以查询
head -n#显示文章头几行 n表示显示几行
tail -n#显示末几行 n表示显示几行,可以加-f 动态显示文件内容
4.1.4 Linux常用命令-文件处理命令-链接命令
ls -s 文件路径/文件名 目标路径/目标文件名 #创建软连接
ls 文件路径/文件名 目标路径/目标文件名#创建硬链接
软连接相当于windows的快捷方式,安装文件被删除,快捷方式失效
硬链接iNode与原文件相同(不能跨分区创建软连接) 与原文件同步更新 原文件删除不影响链接文件 不能对目录使用硬链接
4.2.1 Linux常用命令-权限管理命令-权限管理命令chmod
chmod #change the permissions mode of a file
chmod {ugoa} {+-=} {rwx} [文件或目录] #user group other all 增加 删去 确定权限 r=4 w=2 x=1
chmod 777 文件或目录#777代表文件权限
-R 递归改变文件或目录权限
rwx的意义
对于file: r:cat more less head。。。
w:vim
x:文件问脚本 命令等等
对于directory:
r:ls
w:touch mkdir rmdir rm
x:cd
4.2.2 Linux常用命令-权限管理命令-其他权限管理命令
chgrp #change file group ownership
chgrp 用户组 文件或目录#更改文件或目录的所属组
chown 类似chgrp
umask -S #查看新建文件或目录的缺省权限,注意创建的文件一般都没有x执行权限
umask不带参数显示一堆数字,实际代表的权限如下:
比如umask显示 022
实际权限: 777 - 022 = 755(个人总结,有误请指正)
4.3.1 Linux常用命令-文件搜索命令-文件搜索命令find
find [搜索范围] [匹配条件]
find -name 关键字#查找文件名为特殊文字的文件 *表示任意多个字符 ?代表一个任意字符 -iname忽略大小写
find -size +-=数字# +表示大于 -表示小于 =表示等于 数字表示字节 1个数据块 512字节 0.5K (1K是2个数据块 1M是2048个数据块)
find -user #根据用户查找 -group根据用户组查找
find -acmin -cmin -mmin -number#根据访问时间 修改文件属性时间 修改文件内容时间查找 加上时间表示查询number分钟内的文件
find -type -文件类型#f file d 目录 l链接
find -inum #根据i节点查找
多条件取&&:-a
多条件取||:-o
对查询结果操作 -exec/-ok {} \;#区别在于ok会询问用户
4.3.2 Linux常用命令-文件搜索命令-其他文件搜索命令
locate 文件名#搜索文件速度非常快 新创建的文件查找需要updatedb来更新文件数据库,否则无法找到 但是无法搜索到/tmp文件下的目录
which 命令名称#搜索命令所在目录及别名信息
whereis 命令名称#搜索命令所在目录及帮助文件的路径
以上三个都是搜索文件名,而grep用于搜索文件内容
grep [选项] 查询关键字 [寻找文件路径+文件名] #在文件中搜索
grep -i #不区分大小写
grep -v #排除指定字符串
4.4 Linux常用命令-帮助命令
man 命令名称/配置文件的名称 #查询某命令的帮助信息或者某配置文件的帮助信息,使用wahtis查询关键字,结果中列出的数字(1)代表命令(5)代表配置文件
whatis 命令名称/配置文件#查询简短介绍信息
apropos 配置文件名#查询配置文件简短介绍
info #跟man的功能大体相似,显示形式不同
shell:内置解释器--把命令翻译成机器可以看懂的语言 shell内置命令:如果使用man 命令名称 查询结果第一行显示为bash_builtin,则该命令是shell内置命令
在接下来几行也列出了一堆shell内置命令,查询这些内置命令时应该使用help命令
help shell内置命令名称
4.5 Linux常用命令-简单用户管理命令
useradd 用户名#添加用户
passwd 用户名#更改用户
who #查询当前用户信息 用户名 登录终端 最后登录时间 登录ip(不写为本机登录) #tty1为本地登录 其他为远程登录
w#得到更详细用户登录信息 uptime可以得到w命令的第一行信息
up:机器开机时间
n user:当前登录用户数
load average:负载情况 数字越大负载越大
IDLE累计空闲时间
JCPU累计占用CPU时间
PCPU用户操作占用CPU的时间
WHAT 执行的命令
4.6 Linux常用命令-压缩解压命令 gzip tar zip bzip2
压缩格式.gz gzip只能压缩文件,不可压缩目录
gzip 文件名#将文件压缩,原文件不在存在,不保留原文件
解压缩:(压缩文件不再存在,不保留原文件)
gzip -d 压缩文件名
gunzip 压缩文件名
压缩格式.tar.gz#打包命令
tar -cvfz 压缩后文件名 打包目录#保留原文件
-c#打包,create
-v#打包后显示详细信息
-f#use archive file or device archive
-z#压缩 tar只是打包命令,加了-z才是压缩,即打包并压缩
压缩时遇到
tar: Removing leading `/' from member names
原来执行tar -zcf aa.tar /tmp/aaa使用的是绝对路径
要执行tar -zcf aa.tar ./aaa才行,使用相对路径
加-P(大写)也可以,但是要写在-zcf前面,否则会被当成文件名
比如
tar -Pzcf aa.tar /tmp/aaa
或者
tar -P -zcf aa.tar /tmp/aaa
解压缩:
tar -zxf 压缩包名
-x #解包
-v #显示详细信息
-f #指定压缩文件
-z #解压缩
解压缩: 遇到压缩时的问题同样加-P
压缩格式.zip(保留原文件 可压缩目录 压缩比一般)
zip -r 压缩后文件名 目录或文件#-r可以压缩目录
解压缩:
unzip 压缩包
压缩格式.bz2#gzip升级版(增加-k可以保留原文件 压缩比惊人)
bzip2 -k 文件#-k 压缩并保留原文件
tar -cjf abc.tar.bz2 目录名 #tar与bzip联合使用:将tar的-czf改成-cjf
bunzip2 -k 压缩文件名#解压缩 -k用来保留原文件
与tar一起使用:
tar -xjf 压缩文件名
4.7 Linux常用命令-网络命令
write 用户名#给指定用户发信息 ctrl+D保存并发送
wall message #write all 给所有用户发送广播
ping ip地址#测试网络连通性 与windows区别在于,Linux ping没有次数限制,除非加-c 指定ping的次数
ifconfig 网卡名称 ip地址#临时设置ip地址
ifconfig #查看网卡信息
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet(网络类型) HWaddr 00:0C:29:3F:FD:2F (网卡物理地址 MAC地址)
inet addr:192.168.0.50(ip) Bcast:192.168.0.255(广播地址) Mask:255.255.255.0(子网掩码)
inet6 addr: fe80::20c:29ff:fe3f:fd2f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183 errors:0 dropped:0 overruns:0 frame:0 (接受包的总数 error 丢包等等情况)
TX packets:42 errors:0 dropped:0 overruns:0 carrier:0 (发送包的总数 error 丢包等等情况)
collisions:0 txqueuelen:1000
RX bytes:14423 (14.0 KiB) TX bytes:6457 (6.3 KiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback #回环网卡,不插网线仍可ping通
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:344 (344.0 b) TX bytes:344 (344.0 b)
mail 用户名#给指定用户发送邮件 ctrl+D保存并发送
mail #查看邮件
[root@localhost ~]# mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Tue Aug 8 06:39 23/625 "123"#N 1代表未读1封 发件人root 发送时间
& 1#查看第一封邮件
#以下为邮件信息
Message 1:
From root@localhost.localdomain Tue Aug 8 06:39:06 2017
Return-Path: <root@localhost.localdomain>
X-Original-To: root
Delivered-To: root@localhost.localdomain
Date: Tue, 08 Aug 2017 06:39:05 +0800
To: root@localhost.localdomain
Subject: 123
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=us-ascii
From: root@localhost.localdomain (root)
Status: R
dsdsadsdfds
dsadas
sad
dsads
& h#查看邮件列表
> 1 root Tue Aug 8 06:39 23/625 "123"
& d 1#删除第一封邮件
& h
No applicable messages
& q#退出邮件
[root@localhost ~]#
last#列出目前与过去登入系统的所有用户信息
[root@localhost ~]# last
root pts/0 192.168.0.101 Tue Aug 8 06:30 still logged in
root tty5 Tue Aug 8 06:26 still logged in
root tty1 Tue Aug 8 06:25 still logged in
reboot system boot 2.6.32-431.el6.x Tue Aug 8 06:24 - 06:49 (00:25)
root tty1 Mon Aug 7 07:07 - crash (23:17)
reboot system boot 2.6.32-431.el6.x Mon Aug 7 07:06 - 06:49 (23:43)
root pts/0 192.168.0.103 Fri Aug 4 08:21 - crash (2+22:45)
root tty1 Fri Aug 4 07:43 - crash (2+23:22)
reboot system boot 2.6.32-431.el6.x Fri Aug 4 07:41 - 06:49 (3+23:08)
用户 登录终端 登录ip 时间 操作
lastlog#用户最后一次登录信息
用户名 端口 来自 最后登陆时间
root pts/0 192.168.0.101 二 8月 8 06:30:09 +0800 2017
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
sync **从未登录过**
lastlog -u 用户id#查看具体用户登录信息
traceroute 网址#显示数据包到主机间的路径 当无法登录某网站时,可以排查那边的网络问题
netstat #显示网络相关信息
-t:查询TCP协议网络信息 可靠,三次握手
-u:查询UDP协议网络信息 速度快,不可靠
-l:监听
-r:路由
-n:显示IP地址和端口号
例子:
[root@localhost ~]# netstat -tlun
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53504 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::38416 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:815 0.0.0.0:*
udp 0 0 0.0.0.0:53683 0.0.0.0:*
udp 0 0 0.0.0.0:834 0.0.0.0:*
udp 0 0 :::111 :::*
udp 0 0 :::51606 :::*
udp 0 0 :::815 :::*
协议类型 0代表网络通畅 远程ip和端口 只有tcp有监听状态
本地ip+端口
netstat -an#与上面命令区别在于,本命令可以查看正在连接的网络程序
netstat -rn#查询本机路由表
[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
setup#更改IP地址,只在Redhat有效,永久生效
service network restart#重启网络服务
mount#挂载命令 设备文件名是指定好的,记好即可--》使用ll /dev/cdrom可以查看
mount [-t 文件系统] 设备文件名 挂载点
mount -t iso9660 /dev/sr0 /mount/cdrom#-t iso9660可以省略
umount 设备文件名 #卸载 设备文件名
4.8 Linux常用命令-关机重启命令
强烈推荐使用shutdown关机命令,其他命令可能导致服务未正常关闭,导致硬件损坏等现象
shutdown -h 20:30#-h代表关机 20:30关机,也可写数字,代表n分钟后关机
shutdown -r 数字#-r代表重启 用法跟关机类似
shutdown -c#取消关机命令
其他关机命令(了解)
halt
poweroff
init 0
其他重启命令(了解)
reboot
init 6
系统运行级别
0 关机
1 单用户#类似windows的安全模式
2 不完全多用户,不含NFS服务(NFS Network File System 文件共享服务 跟3很像)
3 完全多用户
4 未分配
5 图形界面
6 重启
以上内容可在文件查询:
[root@localhost ~]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
[root@localhost ~]#
id:3:initdefault:#修改配置文件的这些字符可以修改默认级别,0和6不要设置为默认级别,否则无法启动
runlevel#查看当前运行级别
[root@localhost ~]# runlevel
N 3
前一级别 当前级别
logout#退出登录,离开电脑需要退出登录