Linux命令及操作

一、Linux查看信息命令

1.Linux 命令帮助

(1)man + 命令 例:man uname (查看命令手册)第一种字典

(2)info +命令 例:info clear (在线文档) 第二种字典

(3)命令+ –help 例: Uname –help (可能命令不支持help字典查询 第三种字典)

2.如何查看Linux系统信息

(1)查看内核版本信息

uname -a

(2)查看Linux的当前操作系统版本信息

cat /proc/version (按tap键可以补全)

(3)查看当前Linux产品发行版本信息

cat /etc/issue或/etc/redhat-release

二、Linux基础命令分类

1.目录、文件操作

新建:
# mkdir 新建目录名
# mkdir abc # 在当前工作目录下创建空abc目录
# mkdir -p b1/b2 # -p选项如果父目录不存在则直接创建
修改目录名称:
# mv 目录 目录
#mv /root/a1 / #mv将/root目录下a1目录 剪切到/目录下
删除:
#rmdir 目录
#rm 删除一个文件或目录
#rm -r #递归删除,通常跟d结合,删除一个完整目录及其子目录
-f #不提示删除

#rmdir -p a1/a2 #-p选项如果父目录不存在直接删除​

        [root@localhost /]# mkdir -p /a1/a2/a3
        [root@localhost /]# mkdir -p /a1/b2/c3
        [root@localhost /]# tree /a1
        /a1
        ├── a2
        │   └── a3
        └── b2
            └── c3

        [root@localhost /]# rmdir -p /a1/a2/a3  
        rmdir: 删除目录 "/a1" 失败: 目录非空
        [root@localhost /]# tree /a1
        /a1
        └── b2
            └── c3

例:同时删除多个空目录

            [root@localhost /]# mkdir -p /a1/a2/a3
            [root@localhost /]# mkdir -p /a1/b2/c3
            [root@localhost /]# rmdir -p a1/a2/a3   a1/b2/c3/

改变目录
# cd/root
区分:linux中相对目录和绝对目录区分?
答:绝对目录指中linux的根目录出发;其余都是相对目录;
但是相对目录有4个特殊目录:
. : 当前工作目录
.. : 上一级目录
~ : 表示当前用户的家目录
– : 回到上一次工作目录

显示目录内容
ls
例:

ls -l 分析
    drwx------   14 student  student      4096 11月 17 16:58 student

第一个字符表示文件类型,它可以是下述类型之一:
– 普通文件 d 目录 l 符号链接 b 块设备文件 c 字符设备文件

后面的9个字符表示文件的访问权限,分为3组,每组3位。
第一组表示文件属主的权限,
第二组表示同组用户的权限,
第三组表示其他用户的权限。
每一组的三个字 符分别表示对文件的读、写和执行权限。

各权限如下所示:
r 读
w 写
x 执行。对于目录,表示进入权限。

切换工作目录
cd
cd的特殊用法:进入上一级目录
cd ..
进入该用户主目录(root 用户进入/root,其余用户进入/home相应用户)
cd ~ 或者是cd

显示当前目录
pwd

复制文件或目录
cp [选项] 源文件或目录 目标文件或目录
– f 覆盖已经存在的目标文件而不提示。

连接并显示指定的一个和多个文件的有关信息。
cat、tac

more用于在终端按屏显示文本文件。less同more,区别是在显示文本时,允许用户使用上 下键前后翻阅文件。
more、less

  例: 
    [root @www sung]# more /etc/passwd
    [root @www sung]# less /etc/passwd
    [root @www sung]# cat /etc/passwd | more
    [root @www sung]# cat /etc/passwd | less


head用于显示文本文件的前几行。tail用于显示文本文件的后几行。
head、tail
例:

    [root @www sung]# head -5 /etc/passwd
    [root @www sung]# tail -5 /etc/passwd

touch用于创建一个新文件。
touch 文件名

为某一个文件在另外一个位置建立一个符号连接。当需要在不同目录用到相同文件时。Linux允许用户不用拷贝文件,只需要将其它目录文件ln命令链接即可,这样就不用重复地占用磁盘空间。
ln [选项] 目标 目录
使用说明:
“-s”参数表示建立符号链接。
ln的链接分为软链接和硬链接两种:软链接即带-s参数,它只会在用户选定的位置生成文件的镜像(特殊的文件)。硬链接是不带-s参数的ln,硬链接并不生成新的文件,而通过索引点进行链接。软链接和硬链接都不会重复占用磁盘空间。

grep 定位字符信息 (对数据集的查询)
grep 关键字 文件
echo 显示字符串、变量等信息**

练习
1.用ls > a.txt在/tmp文件夹创建一个文件a.txt

注意空格 例:ls > /tmp/a.txtchong’ling

2.将a.txt拷贝到当前用户目录下


cp a.txt /~

3.在当前用户目录下创建sourcecode文件夹

mkdir ~/sourcecode

4.将sourcecode文件夹拷贝到/tmp下删除/tmp下的文件夹sourcecode

rm -rg /tmp/*

5.使用cat、more、tail命令查看/etc/passwd文件的内容
cat与more、less结合应用 (做简单的查ls a* 对a进行查询)

cat /etc/passwd more etc/passwd
屏幕显示/显示文件内容 结束进程Crtl+Z
cat| head tail显示头和尾| more less 分屏显示

6.创建一个文件a.txt, 写入hello。在其当前目录分别创建a.txt的软硬链接r.txt,y.txt,观察删除a.txt后, r.txt(失效),y.txt(不变)是否有变化。重新创建一个a.txt,内容写入world, 观察两个链接文件有什么变化。

echo ‘hello’ > a.txt
ln -s ./a.txt ./r.txt
ln ./a.txt ./y.txt

​2.进程操作

显示当前系统中由该用户运行的进程列表。
ps 显示当前系统中由该用户运行的进程列表
-e 显示所有进程

输出特定的信号给指定PID的进程,并根据该信号完成指定的行为。
kill 输出特定的信号给指定的进程,并根据该信号而完成指定的行为
kill PID进程号
kill PID 终止进程
kill -9 PID 强制终止进程

3.压缩文档操作

打包/压缩命令
常用选项
-c 创建tar 文件

-f 将文件打包生成到一个文件里
tar –cf new.tar ./home/hxy

-x 对tar 进行解包
tar –xf new.tar

常见用法
针对zip格式
打包
tar cvzf soft.tar.gz /home/hxy 将/hoem/hxy目录下文件打包并压缩

解包
tar xvzf abc.tar.gz 解包到当前目录下
例:
tar jdk-8u144-linux-x64.tar.gz -C /usr/java解包到指定目录下

针对biz2格式
打包
tar cvjf soft.tar.biz2 /home/hxy 将/hoem/hxy目录下文件打包并压缩
解包
tar xvjf abc.tar.biz2 解包到当前目录下
tar xvjf abc.tar.biz2 -C /home 解包到指定目录下

4.网络操作

hostname 查看当前主机名称

将修改后主机和IP地址绑定
修改/etc/hosts
在该文件尾部追加机器名和IP地址,独立成行
echo IP地址 主机名 >> /etc/hosts
使用reboot重启系统
以管理命令关闭系统: shutdown -h now
立刻关机 poweroff
立即重启 shutdown -r now
取消重启、关机(root用户)shutdown –c

5.硬盘相关操作

fdisk 查看硬盘分区情况
mount 磁盘挂载命令
umount 磁盘卸载命令
which 查看可执行文件的位置
whereis 查看文件的位置
locate 配合数据库查看文件位置
find 实际搜索硬盘查询文件 (常用)

df -hl 查看磁盘剩余空间

在指定目录中搜索文件。
find[路径][选项][描述]
例: #find ./ -name c

6.信息查看相关操作命令

显示开机信息。
dmesg

关于系统相关的时间信息。
uptime

hostname 域名
cal 日历信息
date 时间及日期信息

调整时间:
date -s ‘2018/8/8 16:51:00’ #手工调整当前系统日期时间
date “+%Y/%m/%d %H:%M:%S” # 按指定格式显示当前日期时间

7.其他命令

Shell I/O 重定向
cmd > file 把 stdout 重定向到 file 文件中
cmd >> file 把 stdout 重定向到 file 文件中(追加)

cron 定时任务

crontab //循环执行任务 (Ctrl+d 结束)

crontab

    -e  添加修改任务
    -r   删除列表中的任务
    -l   查看任务列表

查看配置
cat /etc/crontab
例:
crontab 时间设定说明

45 10 * * 1-5 上午10:45,从周一至周五

0,30 * 13 * 5 星期五每半个小时,以及每月13号每半个 小时

55 23 * * 0-3,6 除了星期四和星期五之外的每天晚上11:55

计划任务
crontab -e 文本编译

使用cron执行任务计划

通过查看系统提供的crontab文件,查看cron命令

cat /etc/crontab
​​
启动cron服务

systemctl stop crond

停止cron服务

systemctl restart crond

重启cron服务

systemctl enable crond.service

设置cron开机启动

查看当前crontab,输入 crontab -l

编辑当前crontab,输入 crontab -e

删除当前crontab,输入 crontab -r
crontab文件的例子:
30 21 * * * systemctl restart httpd.service
表示每晚21:30重启apache。

45 4 1,10,22 * * systemctl restart httpd.service
表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 systemctl restart httpd.service
表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * systemctl restart httpd.service
表示在每天18 : 00至23 : 00每隔30分钟重启apache。

0 23 * * 6 systemctl restart httpd.service
表示星期六晚上11点重启apache。

  • */1 * * * systemctl restart httpd.service
    每一小时重启apache
  • 23-7/1 * * * systemctl restart httpd.service
    晚上11点到早上7点之间,每隔一小时重启apache

    0 11 4 * mon-wed systemctl restart httpd.service
    每月的4号与每周一到周三的11点重启apache

    0 4 1 jan * systemctl restart httpd.service
    表示一月一号的4点重启apache


    实现每10秒重启一次
          • /bin/date >>/tmp/date.txt
          • sleep 10; /bin/date >>/tmp/date.txt
          • sleep 20; /bin/date >>/tmp/date.txt
          • sleep 30; /bin/date >>/tmp/date.txt
          • sleep 40; /bin/date >>/tmp/date.txt
            注:
            linux任务计划命令cron
            A: 编写shell脚本,扩展名.sh
            B: 修改脚本的权限
            chmod u+x 脚本.sh
            C: 为cron添加执行命令
            crontab -e
            进入vi编辑环境
            0-59 * * * * 命令
            或 执行某个自定义shell脚本
            0-59 * * * * /绝对路径/xx.sh
            D:启动或重启crond服务
            systemctl start crond
            E: 设置cron开机启动
            systemctl enable crond.service

F: 从cron的任务列表中删除任务
crontab -r

向任务计划追加命令
at追加任务
at 11:11am 回车

三、Linux下的文本编辑器Vi/Vim

1.移动光标与查找命令

gg/G                 跳转至第一行/最后一行
数字0键            移动到这一行的第一个字符处
$                       移动到这一行的最后一个字符处
n<enter>           移动到这个文件的第n行(n为数字)
/word                在光标之后查找一个名为word的字符串
?word               从光标处向前查找一个名为word的字符串
n|N                   查找下一个|上一个   

2.文本编辑相关指令

插入或添加字符等操作:

i , I       在当前光标所在处插入输入的文字
a , A       由当前光标所在处的下一个字符开始输入
o , O       从光标所在处的下一行行首开始输入字符
r , R       r会替换光标所指的那个字符,R会一直替换                             
            光标所指的文字
cw          替换当前光标到单词的末尾的内容
c$          替换当前光标到行末的内容

删除字符操作:

x , X        在当前光标所在处删除前面的字符      
dw           删除当前光标处一个单词
d$           从当前光标删除至当前行末尾 
dd           删除一行
d + n + ↑   删除当前行及上面n行(n为数字)
d + n + ↓   删除当前行及下面n行(n为数字)

恢复及复制字符相关操作:

u           撤消以前的操作
U           撤消在一行中所做的改动
ctrl + r    反撤消
yy          复制一行
y + n + ↑  复制当前行及上面n行(n为数字)
y + n + ↓  复制当前行及下面n行(n为数字)
v, y        选定内容,复制按键
p,P               粘帖剪切板内容于光标处

3.分页操作指令

命令行状态下:
按『sp』                分页显示
按『close』              关闭当前页面
按『new』               新建页面
按『wqall』             退出并保存所有页面
按『qall!』             不保存退出所有页面
按『ctrl+w』            页面之间切换
按『e』filename         打开文本文件
    原文作者:Daven_
    原文地址: https://www.jianshu.com/p/21f82978b1dd
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞