1.系统时钟自动同步到NTP服务器
使用timedatectl同步系统时钟:#timedatectl set-ntp true
前提要在系统上安装NTP,检查是否安装NTP相关包:#rpm -qa|grep ntp
要检查服务状态,使用#timedatectl status
查看所有可用时区:# timedatectl list-timezones
设置本地时区(例如Asia/Shanghai):# timedatectl set-timezone "Asia/Shanghai"
设置时间和日期:# timedatectl set-time “18:50:21 2019-11-05”
设置时间:# timedatectl set-time 18:50:21
设置日期:# timedatectl set-time 20191105
2.修改主机名
临时修改:#sudo hostname 新主机名
永久修改:#sudo hostnamectl set-hostname 新主机名
查看主机名:hostname 或hostnamectl
查看FQDN名称:hostname -f
查看主机IP地址:hostname -i
3.查看进程和端口
查看sshd进程:#ps -ef|grep sshd
查看sshd端口:#netstat -lntup|grep ssh
或者 #ss |grep ssh
4.挂载文件系统
查看已挂载磁盘:#df -h
查看块状设备信息:#lsblk
下面以挂接U盘为例:插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
创建挂载点:#mkdir -p /mnt/usb
挂载usb(以磁盘分区sdd1为例):#monut /dev/sdd1 /mnt/usb
只读模式挂载:#monut -o ro /dev/sdd1 /mnt/usb
查看文件内容:#ll /mnt/usb
卸载文件系统(要先退出挂载目录):#umonut /mnt/usb
若想实现开机自动挂载某设备,只要修改/etc/fstab文件即可。
例如:如果想将文件系统为ext4的硬件设备/dev/sdb2在开机后自动挂载到/backup目录上,并保持默认权限且无需开机自检,就需要修改/etc/fstab文件写入:
5.软件的安装
a.源码包方式(一般把源码放在/usr/local/src目录下)
解压源码包:#tar -zxvf *.tar.gz
然后切换到源码文件夹,顺序:配置-编译-安装
配置,并指定安装目录(这里以ucurses为例):# ./configure --prefix=/usr/local/ncurses
编译:#make
安装:#make install
b.二进制包方式(rpm)
查询某个已安装软件:#rpm -qa|grep 关键词
卸载软件:#rpm -e 关键词 [--nodeps]
安装软件:#rpm -ivh 完整名称
升级软件:#rpm -Uvh 完整名称
查询软件:#rpm -qf 文件路径 【查询指定文件属于哪个包】
c.yum方式安装
列出当前已安装和可安装的软件:#yum list [installed]
搜索指定的关键词的包:#yum search 关键词
安装指定的包:#yum [-y] install 包名
更新指定的包,不指定包则更新全部软件:#yum [-y] update 包名
卸载指定的包:#yum [-y] remove 包名
6.查看系统信息
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
cat /proc/version 显示详细内核版本 或者uname -a
cat /proc/meminfo 校验内存使用
cat /proc/cpuinfo 查看CPU信息
cat /proc/swaps 显示哪些swap被使用
date 显示系统时间日期
free -m 查看内存使用量和交换区使用量
df -h 查看各分区使用情况
fdisk -l 查看所有分区
systemctl list-unit-files 列出所有系统服务
ifconfig 查看所有网络接口的属性
iptables -L 查看防火墙设置
route -n 查看路由表
netstat -lntp 查看所有监听端口
netstat -antp 查看所有已经建立的连接
netstat -s 查看网络统计信息进程
ps -ef 查看所有进程
top 实时显示进程状态用户
w 查看活动用户
id <用户名> 查看指定用户信息
last 查看用户登录日志
cut -d: -f1 /etc/passwd 查看系统所有用户
cut -d: -f1 /etc/group 查看系统所有组
crontab -l 查看当前用户的计划任务服务
查看内存大小:cat /proc/meminfo |grep MemTotal
查看硬盘大小:fdisk -l |grep Disk
查看内存使用量和交换区使用量:free -m
7.用户管理(root权限下执行)
useradd user1 创建一个新用户
useradd -c "备注内容 " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户,并指定家目录和shell
userdel -r user1 删除一个用户 (-r并删除用户家目录)
usermod -c "备注内容" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改当前用户密码
passwd user1 修改指定用户密码
groupadd group_name 新建一个用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
8.文件权限管理(root用户或文件所有者才可执行)
ll 或ls -l 显示文件权限
ls -m 水平输出文件列表
chmod -R ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod -R go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown user1:group1 file1 改变一个文件的所有人和群组属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chgrp -R group1 /usr/dir 将/usr/dir及其子目录下所有文件的用户组改为group1
权限范围的表示法如下:
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。
注意:在Linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除。
9.文件搜索
1) find 用来在指定目录下查找文件(占用资源大,应尽量缩小搜索范围)
按文件名称搜索:
find /etc -name init 精准搜索,必须为init才能搜索的到
find /etc -iname init 必须为init或有字母大写也能搜索到
find /etc -name *init 模糊搜索,以init结尾的文件或目录名
find /etc -name init???模糊搜索 ?表示单个字符
根据文件类型查找:f表示文件,d表示目录,l表示软链接
find /home -type d 查找/home目录下文件类型是目录的
2) locate 用来在文件资料库中查找文件
新建文件需要命令updatedb 手动更新资料库才能用locate搜到,另外/tmp目录不属于文件资料库的收录范围。
locate -i 不区分大小写搜索
3)which 用来搜索命令所在的目录及别名信息
which【命令】
例如:which grep
4) whereis 用来搜索命令所在的目录及帮助文档路径
whereis【命令】
例如:whereis ls
5) grep 用来在文件中搜寻字符串匹配的行并输出
grep 关键词 文件路径
-i 不区分大小写
-v 反向搜索,即排除指定字符串
-m 只显示全字符合的列,即精确搜索
例如:grep mysql /root/install.log
10.查看文件内容
cat file1 正向查看文件的内容
tac file1 反向查看文件的内容
more file1 查看一个长文件的内容
less file1 与more类似,不同的是允许用户向前或向后浏览文件
head -n2 file1 查看一个文件的前两行,-n可省略
tail -2 file1 查看一个文件的最后两行
tail -f /var/log/messages 实时查看被添加到一个文件中的内容
11.文本处理
1)cut 列截取工具。用于列的截取
-c 以字符为单位进行分割,截取
例:cut -c1-5 passwd 截取第一到第五个字符。
cut -c10- passwd 从第十个字符开始往后全部截取
-d 自定义分隔符,默认为制表符\t
-f 与-d一起使用,指定截取那哪个区域
例: cut -d: -f1,3 passwd 以:分割截取第一和第三列
2)sort 将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
-t 分隔符, 类似cut -d
-k 第N列, 类似cut -f
-o 将排序结果输出到文件中,类似重定向符号>
-n 以数字排序,默认是按字符排序
-r 降序排列,默认是升序
-u 去除重复行,类似uniq
-R 随机排序,每次运行的结果都不同
例如:#sort -nrk 3 -t: test.txt
3)uniq 用于去除连续的重复行
-i 忽略大小写
-c 统计重复行次数
-d 只显示重复行
4)tee 用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。例
ls -l | tee file.txt | less
并输出file.txt内容
-a 向文件中重定向时使用追加模式
5)diff 用于逐行比较文件的不同
语法:diff [选项] 文件1 文件2
-c 上下文格式显示
-u 合并格式显示
-q或--brief:仅显示有无差异,不显示详细的信息;
注意:diff描述两个文件不同的方式 是告诉我们怎样改变第一个文件之后与第二个文件匹配。
有时候我们需要以一个文件为标准,去修改其他的文件,并且修改的地方较多时,我们可以通过打补丁的方式完成。
第一步,先找出文件的不同,然后输出到一个文件
# diff -uN file1 file2 > file.patch
-N 表示将不存在的文件当做空文件
第二步,将不同内容补丁到文件
# patch file1 file.patch
第三步,测试验证
#diff file1 file2
6)paste 用于将多个文件按照列队列进行合并。
paste file1 file2 file3
-d 自定义间隔符,默认是tab
-s 串行处理,非并行
小技巧:通过重定向到空来清空文件内容,例如#>access.log
7)tr 用于字符转换,替换和删除,主要用于删除文件中控制字符或进行字符转换
用法1:命令的执行结果交给tr处理,其中string1用于查询,string2用于转换处理
# commands | tr ‘string1’ ‘string2’
用法2:tr处理的内容来自文件,记住要使用“<” 标准输入
# tr ‘string1’ ‘string2’ < filename
用法3: 匹配sting1进行相应操作,如删除操作
# tr options ‘string1’ < filename
-d 表示删除字符串1中所有输入字符
-s 表示删除重复出现字符序列,只保留一个,即将重复出现字符串压缩为一个字符串。
例:
将输入字符由大写转换为小写:
#echo "HELLO WORLD" | tr 'A-Z' 'a-z'
使用tr删除字符:
#echo "hello 123 world 456" | tr -d '0-9'
将制表符转换为空格:
#cat text | tr '\t' ' '
12.文件和目录操作
cd /home 进入home目录'
./表示当前目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入当前用户的家目录
cd ~user1 进入指定用户的家目录
cd - 返回上次所在的目录
pwd 显示当前工作路径
ls 用来显示目标列表
ls -d 仅显示目录名,而不显示目录下的内容列表
ls -a 显示隐藏文件
ls -l 或ll 所有输出信息用单列格式输出
ls -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
tree 显示文件和目录由根目录开始的树形结构(可能需安装tree命令)
mkdir dir1 创建一个叫做dir1的目录'
mkdir dir1 dir2 同时创建dir1 dir2两个目录
mkdir -p /tmp/dir1/dir2 递归创建dir1 dir2目录
rm -f file1 强制删除文件file1
rm -rf dir1 删除目录dir1及其子内容
rm -rf dir1 dir2 同时删除两个目录及其子内容
mv dir1 new_dir 重命名/移动,将dir1重命名为new_dir
cp file1 file2 复制一个文件(一般不建议更名)
cp dir/* ./ 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 ./ 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
touch file1 新建一个文件
13.系统关机/重启/注销
shutdown -h now 立即关机
poweroff 关机
init 0 关闭系统
init 3 切换到命令行界面
init 5 切换到图形界面
shutdown -r now 重启
reboot 重启
logout 注销
例:指定5分钟后关机
# shutdown +5 “System will shutdown after 5 minutes” //5分钟后关机并显示警告信息
shutdown -c 取消按预定时间关闭系统
一些常用快捷键:
tab键:补全命令
Ctrl+L :清屏,与clear命令一样
Ctrl+u:删除光标前所有内容
Ctrl+k:删除光标往后所有内容
Ctrl+r:查找历史命令(history)
Ctrl+c: 终止进程
!命令 :执行最近的一次指定命令
!! :执行上一个命令
方向键上下键↑↓:调出历史命令
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。