linux基础命令运用

目录

一、Shell

二、LINUX命令的分类

1、内部命令与外部命令的区别

三、linux基础应用

1、切换用户

2、查看当前主机的完整名称

3、临时设置主机名

4、永久设置主机名

5、查看当前系统版本信息

6、查看当前内核版本

7、临时修改网卡IP

8、永久修改网卡IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33

9、重启网卡

10、查看网卡地址

11、重启系统

12、关机

13、关闭防火墙软件

四、linux常用命令

1、内部命令

2、命令行格式

 3、Linux命令行的辅助操作

4、获得命令帮助的方法

5、查看当前工作目录:pwd

6、切换工作目录:cd (相对路径、绝对路径)

7、ls——列表显示目录内容(常用选项、可结合通配符)

1.显示目录中内容,包括子目录和文件相关属性信息

2.常用选项l、-a、-A、-d、-h、-R、–color

3.结合通配符

4.ls的常用选项

8、扩充

9、设置别名-alias

10、统计目录及文件空间占用-du

11、创建新目录mkdir

12、创建空文件-touch

13、创建链接文件-ln(软链接、硬链接)

14、复制文件或目录-cp

15、删除文件或目录-rm

16、移动文件或目录/改名mv

17、查找命令/文件存放目录which

18、查找文件或目录-find

18.1 Find工具-name参数案列:

18.2 Find工具-size参数案列

18.3Find工具-type参数案列:

18.4 查找存在的用户的文件



一、Shell

●Linux系统中运行的一种特殊程序

●在用户和内核之间充当“翻译官”

●用户登录linux系统时,自动加载一个Shell程序

●Bash是Linux系统中默认使用的Shell程序

     文件位于/bin/bash

     接收用户输入的命令

     解释命令

     传递给系统内核执行

二、LINUX命令的分类

1、内部命令与外部命令的区别

内部命令

外部命令

集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令

Linux系统中能够完成特定功能的脚本文件或二进制程序

属于Shell的一部分

属于Shell解释器程序之外的命令

没有单独对应的系统文件

每个外部命令对应了系统中的一个文件

自动载入内存,可以直接使用

必须知道其对应的文件位置,由Shell加载后才能执行/bin,/usr/bin,/usr/local/bin

区别

1、内部命令属于shell的一部分,外部命令属于shell程序之外的命令。内部命令直接调用,外部命令会调用一个独立文件,内部命令比外部命令快

2、内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二进制文件组成。

3、内部命令自动加载,可以直接使用,外部命令系统必须要知道对应的文件位置(命令的环境变量),由shell进行加载后,系统才能识别该命令
 

三、linux基础应用

[root@localhost ~]#

[当前登录系统的用户@主机名称 当前所在的目录]#

# 表示为管理员登录

$ 表示为普通用户登录

1、切换用户

su 用户名            #切换后所在目录不变

su - 用户名         #切换后所在目录变成用户家目录

2、查看当前主机的完整名称

hostname

3、临时设置主机名

hostname 主机名

4、永久设置主机名

hostnamectl set-hostname 主机名

5、查看当前系统版本信息

cat /etc/redhat-release

cat /etc/*release

6、查看当前内核版本

uname -r

7、临时修改网卡IP

ifconfig ens33 192.168.80.3/24

ifconfig ens33 192.168.80.3 netmask 255.255.255.0

8、永久修改网卡IP

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet             #设置网卡类型,“Ethernet”表示以太网

DEVICE=ens33              #设置网卡的名称

ONBOOT=yes                #设置网卡是否在 Linux 操作系统启动时激活

BOOTPROTO=static          #设置网卡的配置方式,“static”表示使用静态IP地址
                                              “dhcp”时表示动态获取地址

IPADDR=192.168.80.3       #设置网卡的 IP 地址

NETMASK=255.255.255.0     #设置网卡的子网掩码

GATEWAY=192.168.80.2      #设置网卡的默认网关地址
 
DNS1=114.114.114.114      #设置DNS服务器的 IP 地址

9、重启网卡

systemctl restart network           #重启所有的网卡

ifdown ens33                             #关闭某个网卡

ifup ens33                                        #启动某个网卡

ifconfig ens33 down                         #临时禁用某个网卡

ifconfig ens33 up                       #重新激活某个网卡(不会更新IP地址)

10、查看网卡地址

Ifconfig-a   (查看当前系统中所有状态的网卡系统)

ip a   【ip address】查看活跃网卡

11、重启系统

reboot          

init 6

shutdown -r now

12、关机

poweroff

init 0

shutdown -h now

shutdown -c

13、关闭防火墙软件

1. 临时关闭命令: systemctl stop firewalld.service

2. 查看服务状态 :systemctl status firewalld.service

3. 永久关闭(下次开机不自启动): systemctl disable firewalld.service

Stenforce 0 核心防护关闭

四、linux常用命令

1、内部命令

type #查询内部外部指令
enable-n + 指令 #禁用内部指令
enable + 指令 #开启指令
help #帮助
    ls --help #外部命令查询帮助
    help cd #内部命令查询帮助
echo #shell内嵌/也可以是外部指令(给出具体命令所在)
hash #可以直接调取缓存中的指令
which + 指令 #查询指令所在路径与别名
 

2、命令行格式

命令字     选项     参数

命令字:唯一确定一条指令,是整条命令中最关键的部分
选项:长格式:使用“- -”符号引导;短格式:使用“-”符号引导
参数:用来处理对象;可以是文件名、目录(路径)名或者用户名等内容;个数可以是0到多个

 3、Linux命令行的辅助操作

1.Tab键:自动补齐/按两下帮忙查询相同前缀的目录或文件(cd会显示目录,vim会显示文件)

2.反斜杠“\”强制换行(在长命令的情况下使用便于排错,更加工整)

3.Ctrl+U组合键:清空至行首

4.Ctrl+K组合键:清空至行尾
 

5.Ctrl+L组合键:清屏,或者clear

6.Ctrl+C组合键:取消本次命令编辑

7.Ctrl+A组合键:切换到行首

8.Ctrl+E组合键:切换到行尾
 

4、获得命令帮助的方法

命令帮助help

显示命令的帮助信息,命令的参数和用法等

命令“-help”选项

适用与大多数的Linux的外部命令

man命令的使用

  • 可以使用方向键滚动文本
  • 使用Page Up和Page Down键翻页
  • 按Q或q键退出阅读环境
  • 按“\”键查找内容

例如:lman ls | col -b > lshelp.txt

在这个例子中,col 是一个命令程序,用于过滤文本中的一些特殊控制字符;另外还使 用了“|”和“>”符号,这是 Shell 环境中的两种特殊功能应用,分别称为管道、重定向输出。其 含义及作用如下所述。 

管道:用竖杠符号“|”表示,用于将前面命令的屏幕输出结果作为后面命令的操作对 象(输入)。就好像一根管道一样,从这头塞入内容,从另一头出来。 

重定向输出:用大于符号“>”表示,前面的命令成功执行以后,其屏幕输出结果将 保存到“>”号后边指定的文件中,而不是直接输出到屏幕,因此称为重定向。

5、查看当前工作目录:pwd

[root@localhost ~]# pwd    #显示用户当前所在工作目录位置

/root

6、切换工作目录:cd (相对路径、绝对路径)

cd /home    #后面跟绝对路径,切换到home目录

cd ./home   #后面跟相对路径,切换到home目录

cd ~            #切换到当前用户的家目录

cd               #切换到当前用户的家目录

cd ~user     #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家

cd -             #切换到上一次执行操作的目录

cd ..            #切换到上一层目录(父目录)

绝对路径:以根开头的都是绝对路径 (/home/etc)

相对路径:以非根开头的都是相对路径 

7、ls——列表显示目录内容(常用选项、可结合通配符)

1.显示目录中内容,包括子目录和文件相关属性信息

ls【文件】【文件或目录…】

2.常用选项
l、-a、-A、-d、-h、-R、–color

3.结合通配符

“?”:代表任意一个字符,且至少一个

“*”:代表任意数个字符,可以是0个或者1个或者多个

4.ls的常用选项

-l #将文件信息属性详细列出,通常直接使用ll,因为设置了别名
-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d #查看目录本身信息,不显示目录下的内容
-i #显示inode值
-h #友好显示文件大小
-a #遍历所有文件及目录(ls内定将文件名或目录名称开头为""的视为隐藏档,不会列出)
-A #跟-a唯一的不同是不列出当前目录和上一层目录

颜色区别
白色:   数据文件 txt
深蓝色:目录
白色(黑色):一般文件
绿色:   可执行的文件(脚本/程序)
黄色:   块设备文件
红色:    压缩包
淡蓝色:链接文件/快捷方式

8、扩充

   普通文件

d 目录文件 directory

b 块设备文件block

p 管道文件pipe

s 套接字文件 socket

l 符号链接文件link

9、设置别名-alias

通过别名机制简化常用的、比较长的命令
alias 命名别名 = 命令

alias dh=‘du-sh’


命令:
alias #查看系统当前所有可用别名

alias ll=‘ls-lt’#设置别名

unalias #删除别名

vim /root/.bash 永久生效

10、统计目录及文件空间占用-du

统计指定目录(或文件)所占用磁盘空间的大小

du [选项] [文件或目录…]

常用选项

-a :统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s:只统计所占用空间总的大小,而不是统计每个子目录、文件的大小

示例

统计出/var/log目录所占用空间的大小
du - sh /var/log/
 

11、创建新目录mkdir

mkdir /opt/sj    #创建目录,注意:父目录必须存在

-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建

rmdir 删除一个空目录

12、创建空文件-touch

①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。

②文件不存在:创建新文件

touch [文件名]

touch  [文件名] [文件名]   创建两个文件

13、创建链接文件-ln(软链接、硬链接)


ln 命令用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式)

链接文件包括软链接硬链接两种类型,其中软链接又称为符号链接。无论是访问软链接还是硬链接,与直接访问原始文件的效果基本相同

ln -s  创建软链接,相当于创建一个快捷方式

ln     创建硬链接,相当于复制了一份副本

硬软链接的区别

硬链接不能跨分区建立连接 无法对文件夹创建

删除硬件连接可以继续访问硬链接

软连接可以跨设备 可以支持文件夹

软连接删除源文件不能访问

注:相对路径与绝对路径  建议绝对路径

例:root@localhost ~]# mkdir /bin/wx

 [root@localhost ~]# ln -s /bin/bzip2 /bin/wx/

 [root@localhost ~]# ls -lh /bin/wx/bzip2

14、复制文件或目录-cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录...

-p:连属性一起复制

-a:保留权限,复制软链接本身,递归复制

-r:递归复制

-f:强制复制,不与用户交互

-i:提醒覆盖

cp的高级用法:cp  -v  file1.txt{,.bak}常用于备份

15、删除文件或目录-rm

删除指定的文件或目录

rm【选项】要删除的文件或目录

常用选项

-f:删除文件或目录时不进行提醒,而直接强制删除

-i:删除文件或目录时提醒用户确认

-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。

常见用法:rm -rf  /   

删除空目录:rmdir

16、移动文件或目录/改名mv

用法:mv [文件名] [目录名]

           mv [文件名] [文件名]

-i:若指定目录已有同名文件,则先询问是否覆盖旧文件

-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示

当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作

17、查找命令/文件存放目录which

which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。

which 命令|程序名 #默认当查找到第一个目标后不再继续查找

which -a 命令|程序名 #在所有搜索路径中查找

示例

which is

which cd

18、查找文件或目录-find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

-name 按名称查找:

-size 按大小查找:

-user 按文件属主:

-type 按类型查找:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)

多条件查找

-a表示 而且(and)

-o表示 或者 (or)

设置find命令的查找条件时,若需要使用或通配符,最好将文件名用双引号括起来

find /boot -size+1024k-a/-o-name"vmlinuz*"
使用"-a”-o”组合两个条件,前者表示两个条件必须同时满足,后者表示只需满足其中任何一个条件即可
 

18.1 Find工具-name参数案列:

find /etc -name "resol*.conf"

find   /data/    -name   "*.txt"      #查找/data/目录以.txt结尾的文件;

find   /data/    -name   "[A-Z]*"     #查找/data/目录以大写字母开头的文件;

find   /data/    -name   "test*"      #查找/data/目录以test开头的文件;

18.2 Find工具-size参数案列

find   /data/    -size   +1M              #查文件大小大于1Mb的文件;

find   /data/    -size   10M               #查文件大小为10M的文件;

find   /data/    -size   -1M             #查文件大小小于1Mb的文件;

-size +4M    表示4M 以上   不包括 4M

-size  4M    表示3M  到4M  且不包括3M  

-size -4M    表示3M  以内  包括3M

1G  1024 代表1023M - 1024M  不包括1023M

18.3Find工具-type参数案列:

find   /data/    -type d           #查找/data/目录下的文件夹;

find   /data/    !   -type   d     #查找/data/目录下的非文件夹;

find   /data/    -type  l            #查找/data/目录下的链接文件。

find  /data/ -type d|xargs chmod 755 -R #查目录类型并将权限设置为755;

find  /data/ -type f|xargs chmod 644 -R #查文件类型并将权限设置为644;

18.4 查找存在的用户的文件

find /home -user 用户名

find /home -user 用户名  -group 组名

扩展  xargs

可以和管道配合

find ./ -maxdepth 1 -type f -print0 | xargs -0 ls -lh-atime  -- 访问时间

Linux中日志放在/var/log sylog

 -mtime  -- 文件内容修改时间

 -ctime  -- 文件属性修改时间 

  ctime   ##以天为单位

  cmin    ##以分钟为单位 

find ./ -name "syslog.*.gz" -mtime -5 -exec ls -lh {} \;    

# +5是五天以前      #-5天以内

在当前目录下(包含子目录),删除所有txt文件

find ./ -name "*.txt" -exec rm {} \;

在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行

find ./ -name "*.txt" -exec grep "bin" {} \;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值