一、系统命令
1.1、系统服务基础命令
查看所有网卡ip地址
ip addr
启动防火墙
systemctl start firewalld.service
停止防火墙
systemctl stop firewalld.service
查看防火墙状态
systemctl status firewalld
禁止防火墙开机启动
systemctl disable firewalld.service
列出正在运行的服务状态
systemctl
启动一个服务
systemctl start postfix.service
关闭一个服务
systemctl stop postfix.service
重启一个服务
systemctl restart postfix.service
显示一个服务的状态
systemctl status postfix.service
在开机时启用一个服务
systemctl enable postfix.service或者chkconfig postfix.service on
在开机时禁用一个服务
systemctl disable postfix.service或者chkconfig postfix.service off
查看服务是否开机启动
systemctl is-enabled postfix.service;echo $?
查看已启动的服务列表
systemctl list-unit-files|grep enabled
设置系统默认启动运行级别3
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
设置系统默认启动运行级别5
ln -sf/lib/systemd/system/graphical.target/etc/systemd/system/default.target
根据某个端口找到相关进程,杀死该进程或者查看进程相关信息
命令lsof,以查找占用端口80为例,用法如下:
[root@localhost nginx]# lsof -i:80
[root@localhost nginx]#
以上为没有进程占用80端口,
[root@localhost sbin]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 8246 root 6u IPv4 64233 0t0 TCP *:http (LISTEN)
nginx 8247 nobody 6u IPv4 64233 0t0 TCP *:http (LISTEN)
[root@localhost sbin]#
以上为进程ID为8246和8247的nginx应用,占用80端口。
命令netstat,以查找占用80端口
[root@localhost sbin]# netstat -nlp|grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8246/nginx
[root@localhost sbin]#
命令ps,可以查看已知进程PID的执行目录的详细信息
[root@localhost sbin]# ps -ef | grep 8246
root 8246 1 0 14:56 ? 00:00:00 nginx: master process ./nginx
nobody 8247 8246 0 14:56 ? 00:00:00 nginx: worker process
root 8461 2679 0 15:26 pts/1 00:00:00 grep 8246
[root@localhost sbin]# ps -x | grep 8246
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
8246 ? Ss 0:00 nginx: master process ./nginx
8463 pts/1 S+ 0:00 grep 8246
[root@localhost sbin]# kill -9 8246(PID)
查看监听的端口
netstat -lnpt
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
检查端口被哪个进程占用
netstat -lnpt |grep 5672
查看进程的详细信息
ps 6832
curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。
curl
-X 指定http的请求方法 有HEAD GET POST PUT DELETE
-d 指定要传输的数据
-H 指定http请求头信息
1.2系统信息
显示机器的处理器架构
arch 或者 uname -m
显示正在使用的内核版本(安装docker的时候对内核版本有要求)
uname -r 或者 cat /proc/version
显示硬件系统部件
dmidecode -q
罗列磁盘的架构特性
hdparm -i /dev/*
在磁盘上执行测试性读取操作
hdparm -tT /dev/aufofs
显示CPU info的信息
cat /proc/cpuinfo
显示中断
cat /proc/interrupts
校验内存使用
cat /proc/meminfo
显示哪些swap被使用
cat /proc/swaps
显示网络适配器及统计
cat /proc/net/dev
显示已加载的文件系统
cat /proc/mounts
显示已经挂载的分区列表
df -h
显示某个目录或者文件大小
du -h 目录或者文件名
查看当前磁盘剩余空间
df .
1.3系统常用命令
1.3.1、性能分析工具-top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
[root@10 etc]# top
top - 10:07:52 up 1:42, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 102 total, 1 running, 101 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1014824 total, 532036 free, 177172 used, 305616 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 691768 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2629 root 20 0 161888 2200 1552 R 0.3 0.2 0:00.01 top
1 root 20 0 128168 6820 4224 S 0.0 0.7 0:01.50 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
5 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kworker/u2:0
第一行,任务队列信息,同 uptime 命令的执行结果
系统时间:10.07.52
运行时间:up 1:42,
当前登录用户: 2 user
负载均衡(uptime) load average: 0.00, 0.01, 0.05
average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行,Tasks — 任务(进程)
总进程:102 total, 运行:1 running, 休眠:101 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie
第三行,cpu状态信息
0.0%us【user space】— 用户空间占用CPU的百分比。
0.0%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%ni【】— 改变过优先级的进程占用CPU的百分比
100id【idolt】— 空闲CPU百分比
0.0%wa【wait】— IO等待占用CPU的百分比
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
0.0%si【Software Interrupts】— 软中断占用CPU的百分比
第四行,内存状态
1014824 total, 532036 free, 177172 used, 305616 buff/cache
第五行,swap交换分区信息
2097148 total, 2097148 free, 0 used. 691768 avail Mem
第七行以下:各进程(任务)的状态监控
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
1.3.2、端口开放/关闭
查看目前已经开启了哪些端口
netstat -ntpl(TCP类型的端口) netstat -nupl (UDP类型的端口)
开放某个端口
firewall-cmd --add-port=8080/tcp (--permanent 参数,然后重启服务器后可以看到开启的端口依然处于开启状态)
filewall-cmd --reload
关闭某个端口
firewall-cmd --remove-port=8080/tcp (--permanent 参数,然后重启服务器后可以看到开启的端口依然处于关闭状态)
filewall-cmd --reload
如果想查看某一端口是否在防火墙中启用可使用firewall-cmd –query-port=8080/tcp 命令进行查看,当结果为no表示没有启用
[root@laptop-816hi1r6 ~]# firewall-cmd --query-port=8080/tcp
n0
防火墙状态
firewall-cmd --state
1.3.3、查看进程
显示系统进程的命令
ps -ef 和ps aux
杀死进程
kill pid (pid:进程号)
kill -9 pid (强制杀死某进程)
查看端口使用并且根据端口找到进程号(pid)进而杀死进程
netstat -tln :查看端口占用情况
lsof -i :port :查看端口被占用的进程id(pid)
kill -s 9 pid:强制杀死指定进程
1.3.4、内存使用
free -g 【G为单位查看】
free -m 【M为单位查看】
[root@laptop-816hi1r6 /]# free -m
total used free shared buff/cache available
Mem: 991 142 689 6 159 708
Swap: 2047 0 2047
1.3.4、流量监控
iftop是类似于top的实时流量监控工具
iftop界面相关说明
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
1.3.5、磁盘监控
iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析
单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息。
[root@laptop-816hi1r6 yum.repos.d]# iostat
Linux 3.10.0-1062.el7.x86_64 (192.168.1.27) 2019年12月26日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.28 0.00 0.19 0.03 0.00 99.50
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.48 30.24 10.47 278386 96416
dm-0 1.41 28.94 10.25 266398 94348
dm-1 0.01 0.24 0.00 2204 0
以上输出中,包含三部分:
选项 | 说明 |
---|---|
第一行 | 最上面指示系统版本、主机名和当前日期 |
avg-cpu | 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值 |
Device | 各磁盘设备的IO统计信息 |
avg-cpu中各列参数含义如下:
选项 | 说明 |
---|---|
%user | CPU在用户态执行进程的时间百分比。 |
%nice | CPU在用户态模式下,用于nice操作,所占用CPU总时间的百分比 |
%system | CPU处在内核态执行进程的时间百分比 |
%iowait | CPU用于等待I/O操作占用CPU总时间的百分比 |
%steal | 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比 |
%idle | CPU空闲时间百分比 |
- 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
- 若 %idle 的值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量
- 若 %idle 的值持续低于1,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是 CPU
Device中各列参数含义如下:
选项 | 说明 |
---|---|
Device | 设备名称 |
tps | 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。 |
Blk_read/s | 每秒读取量 |
Blk_wrtn/s | 每秒写入量 |
Blk_read | 取样时间间隔内读扇区总数量 |
Blk_wrtn | 取样时间间隔内写扇区总数量 |
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
[root@laptop-816hi1r6 yum.repos.d]# vmstat 5 5 【在5秒时间内进行5次采样】
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 520200 2108 337368 0 0 28 10 52 65 0 0 100 0 0
0 0 0 520200 2108 337368 0 0 0 0 21 26 0 0 100 0 0
0 0 0 520200 2108 337368 0 0 0 0 27 25 0 0 100 0 0
0 0 0 520200 2108 337368 0 0 0 0 16 20 0 0 100 0 0
0 0 0 520200 2108 337368 0 0 0 0 27 26 0 0 100 0 0
Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:
so: 每秒写入交换区的内存大小
si: 每秒从交换区写到内存的大小
IO:(现在的Linux版本块的大小为1024bytes)
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:
in: 每秒中断数,包括时钟中断。【interrupt】
cs: 每秒上下文切换数。 【count/second】
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
wa: 等待IO时间
备注:
如果r经常大于4,id经常少于40,表示cpu的负荷很重。
如果bi,bo长期不等于0,表示内存不足。
如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。
Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。
1.3.6、环境变量
查看环境变量
[root@192 etc]# env
XDG_SESSION_ID=2
HOSTNAME=laptop-816hi1r6
SELINUX_ROLE_REQUESTED=
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
SSH_CLIENT=192.168.1.23 56183 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=lucky
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
PATH=/mnt/zz/apps/jdk1.8.0_231/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/etc
JAVA_HOME=/mnt/zz/apps/jdk1.8.0_231
LANG=zh_CN.UTF-8
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
对于一些压缩包进行安装的软件,往往需要配置环境变量
[lucky@192 etc]$ vim /etc/profile
……
export JAVA_HOME=/mnt/zz/apps/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
1.3.7、开机自启动
在开机时启用一个服务
systemctl enable postfix.service或者chkconfig postfix.service on
在开机时禁用一个服务
systemctl disable postfix.service或者chkconfig postfix.service off
查看服务是否开机启动
systemctl is-enabled postfix.service;echo $?
查看已启动的服务列表
systemctl list-unit-files|grep enabled
列出 systemd 服务
[root@192 etc]# systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
dev-hugepages.mount static
dev-mqueue.mount static
proc-sys-fs-binfmt_misc.mount static
sys-fs-fuse-connections.mount static
sys-kernel-config.mount static
sys-kernel-debug.mount static
tmp.mount disabled
brandbot.path disabled
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path static
systemd-ask-password-wall.path static
session-1.scope static
session-2.scope static
arp-ethers.service disabled
auditd.service enabled
autovt@.service enabled
blk-availability.service disabled
brandbot.service static
chrony-dnssrv@.service static
chrony-wait.service disabled
chronyd.service enabled
console-getty.service disabled
console-shell.service disabled
container-getty@.service static
cpupower.service disabled
crond.service enabled
dbus-org.fedoraproject.FirewallD1.service enabled
dbus-org.freedesktop.hostname1.service static
dbus-org.freedesktop.import1.service static
dbus-org.freedesktop.locale1.service static
dbus-org.freedesktop.login1.service static
查看服务列表: chkconfig –list
[root@192 ~]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
tomcat 0:关 1:关 2:开 3:开 4:开 5:开 6:关
看到3、4、5状态为开或者为 on 则表示开机自启动成功
1.3.8、定时服务
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
查看定时任务列表
crontab -l
编辑定时任务
crontab –e (作用等价于 vim /var/spool/cron/root)
crontab -r 删除定时任务
crontab –i
一些具体操作的例子
1.每天3-5,17-20每隔30分钟执行一次脚本
echo` `"*/30 [3-5],[17-20] * * * /bin/sh /home/omc/h.sh >/dev/null 2>&1"` `>> ``/var/spool/cron/root
2.当天23点,第二天0点到凌晨7点 每隔1分钟执行一次脚本
* 23,00-07``/1` `* * * ``/bin/sh` `/home/omc``.h.sh
3.每年的4月份每周的周一到周三的11点执行脚本
00 11 * 4 1-3 /bin/sh /home/omc/h.sh
1.3.9传输服务
1.将本机文件复制到远程服务器上
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
应用实例:
scp /home/space/music/1.mp3 root@192.168.1.27:/home/root/others/music
scp /home/space/music/1.mp3 192.168.1.27:/home/root/others/music/001.mp3
复制目录命令格式
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
应用实例:
scp -r /home/space/music/ root@192.168.1.27:/home/root/others/
scp -r /home/space/music/ 192.168.1.27:/home/root/others/
2.将远程服务器上的文件复制到本机
scp root@192.168.1.27:/home/root/others/music /home/space/music/1.mp3
scp -r 192.168.1.27:/home/root/others/ /home/space/music/
说明
如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下:
#scp 命令使用端口号 4588
scp -P 4588 root@92.168.1.27:/usr/local/sin.sh /home/administrator
1.3.10、系统之间免密
以例子来说明
环境需求:
- 服务器1:192.168.1.27
- 服务器2:192.168.1.30
两台服务器都有安装ssh服务和openssl-clients
1.两台服务器各自执行命令生成公钥和私钥
ssh-keygen -t rsa
2.将其中一台中的公钥发送到另一台服务器比如在192.168.1.27操作[root@192 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub
[root@192 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.30
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.1.30's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@192.168.1.30'"
and check to make sure that only the key(s) you wanted were added.
3.进入另一台服务器的~/ssh目录下查看,查看是否生成authorized_keys文件,该文件存的是192.168.1.27服务器的公钥信息
[root@10 .ssh]# ls
authorized_keys id_rsa id_rsa.pub
4.在192.168.1.27上直接进入192.168.1.30服务器
[root@192 .ssh]# ssh 192.168.1.30
Last login: Thu Dec 26 16:00:47 2019 from 192.168.1.27
二、文件操作
2.1、文件和目录
查看目录中的文件
ls -F
示文件和目录的详细资料
ls -l 或者ll
显示隐藏文件
ls -a
显示包含数字的文件名和目录名
ls [0-9]
彻底删除文件夹和文件,包含全部子目录以及其中的文件
rm –rf 目录名或者文件名
以尺寸大小排列文件和目录
ls -lSr |more
2.2、文件的权限
设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod ugo+rwx directory1 或者 chmod a+rwx directory1 或者 chmod 777 directory
改变一个文件的所有人属性
chown user1 file1
改变一个文件的所有人和群组属性
chown user1:group1 file1
2.3、查看文件内容
从第一个字节开始正向查看文件的内容
cat file1
从最后一行开始反向查看一个文件的内容
tac file1
查看一个长文件的内容
more file1
查看一个文件的前两行
head -2 file1(tail -2 file1 查看一个文件的最后两行)(tail -f /var/log/messages 实时查看被添加到一个文件中的内容)
2.4、压缩与解压缩
文件压缩为hello.txt.gz
gzip hello.txt
解压gz文件
gzip -d hello.tz
解压一个zip格式压缩包
unzip file1.zip
文件压缩为hello.txt.bz2
bizp2 hello.txt
解压bz2文件
bizp2 -d hello.txt.bz2
gzip与bzip2工具不可以对目录做打包压缩操作,需要使用tar 命令来打包与解包文件
解压gz格式的打包文档至指定目录
tar -xzf boot.tar.gz /mnt/temp
将指定目录打包并压缩为boot.tar.gz
tar -czf boot.tar.gz /boot
2.5、初始化一个文件系统
在hda1分区创建一个文件系统
mkfs /dev/hda1
在hda1分区创建一个linux ext2的文件系统
mke2fs /dev/hda1
在hda1分区创建一个linux ext3(日志型)的文件系统
mke2fs -j /dev/hda1
创建一个 FAT32 文件系统
mkfs -t vfat 32 -F /dev/hda1
创建一个swap文件系统
mkswap /dev/hda3
启用一个新的swap文件系统
swapon /dev/hda3
格式化一个软盘
fdformat -n /dev/fd0
格式化分区
mkfs.ext3 /dev/sdb1
三、用户和群组
3.1、基础使用
创建一个新用户组
groupadd group_name (groupdel group_name 删除一个用户组 )
重命名一个用户组
groupmod -n new_group_name old_group_name
创建一个新用户
useradd user1 (userdel user1)
修改一个用户的口令 (只允许root执行)
passwd user1
3.2、其他使用
sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具
yum install sudo //这个安装包很小,不到1M
su root //进入root用户//这个安装包很小,不到1M
vim /etc/sudoers //打开sudo的配置文件
[lucky@192 yum.repos.d]$ sudo yum install -y lrzsz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* epel: mirrors.aliyun.com
* extras: mirrors.cn99.com
* updates: mirrors.cn99.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 lrzsz.x86_64.0.0.12.20-36.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
四、软件安装
4.1、YUM丶RPM 包
安装一个rpm包
rpm -ivh package.rpm
显示系统中所有已经安装的rpm包
rpm -qa
显示所有名称中包含 “httpd” 字样的rpm
rpm -qa | grep httpd
查看软件安装目录
rpm -ql software_name(rpm -qi sotware_name 查看软件安装的版本信息)
软件升级
rpm -Uvh software_name (rpm -e nodeps software_name强制卸载)(rpm -e software_name 软件卸载)
下载并安装一个rpm包
yum install package_name -y
更新一个rpm包 和删除一个rpm包
yum update package_name 和 yum remove package_name
列出当前系统中安装的所有包
yum list
4.2、使用国内Yum源加速
为了加快Centos系统的升级下载速度,可以修改默认的yum源为国内镜像。国内主要开源的开源镜像站点应该是网易和阿里云。
4.2.1、使用网易的yum源
系统下载首先使用系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
(1)首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)进入yum源配置文件所在的文件夹
[root@localhost ~]# cd /etc/yum.repos.d/
(3)查看CentOS系统版本
[root@localhost ~]# lsb_release -a
(4)下载163的yum源配置文件到上面那个文件夹内
[root@localhost yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
5)运行yum makecache生成缓存
[root@localhost yum.repos.d]# yum makecache
6)这时候再更新系统就会看到以下mirrors.163.com信息
[root@localhost yum.repos.d]# yum -y update
已加载插件:fastestmirror, refresh-packagekit, security
设置更新进程Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
4.2.2、使用阿里云的yum源
除第三步使用 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo之外,其他的均与网易云一样。
五、附加
5.1、用户可执行文件
•用户可执行文件:/bin、/usr/bin、/usr/local/bin
•系统可执行文件:/sbin、/usr/sbin、/usr/local/sbin
一、/usr/sbin与/usr/bin区别:
1、/usr/sbin:root权限下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统;
2、/usr/bin普通用户权限,存放一些普通的基本命令,如ls,chmod等;
二、/usr/bin与/usr/local/bin:
1、/usr/local/sbin:系统预装的可执行程序,会随着系统升级而改变;
2、/usr/local/bin:用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。
三、/bin与/sbin:
1、/bin目录(binary)是二进制执行文件目录,主要用于具体应用
2、/sbin目录(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
暂无评论内容