CentOS7系统操作命令(实用型)

一、系统命令

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中各列参数含义如下:

选项说明
%userCPU在用户态执行进程的时间百分比。
%niceCPU在用户态模式下,用于nice操作,所占用CPU总时间的百分比
%systemCPU处在内核态执行进程的时间百分比
%iowaitCPU用于等待I/O操作占用CPU总时间的百分比
%steal管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比
%idleCPU空闲时间百分比
  1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
  2. 若 %idle 的值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量
  3. 若 %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)是系统管理员专用的二进制代码存放目录,主要用于系统管理

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容