Linux的基本命令

目录

命令的格式

一、基本命令使用

二、修改系统内设置的命令

三、Linux命令行的辅助操作

四、shell

五、Linux命令分类


命令的格式

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

一、基本命令使用


常见使用方式:命令字 选项 参数 
命令字 + 参数,例如cd  cat ls du hostname cp find 
命令字 ls su cd pwd du 

hostnamectl set-hostname ds
pwd #显示用户当前所在工作目录位置

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

hostname

永久设置主机名
hostnamectl set-hostname 主机名

2、pwd 显示当前所在位置

3、ls
参数:路径类型/opt 名称 数值类型 find ./ -size +4M
为什么要加以上指定类型的参数???
 因为命令的基础职能决定了你可以选择的参数类型
 ls 基础职能 查看指定目录下的文件、目录等对象
  ls 如果要看单个参数的话,直接写:位置+目录名称(绝对路径)/
小需求:我要看/opt目录下的abc子目录中有哪些东西?
[ root@localhost ~]# ls /opt/abc 
[ root@localhost ~]# ls ../opt/abc 
[ root@localhost /]# ls /opt/abc
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出

4、cd
cd 单参数(绝对/相对路径 + 目录)

5、cp
cp 2个参数
cp职能将原文件/目录复制到目标位置(目录) 如果是目标位置有同名的文件/目录的话,表示覆盖
cp [参数1]文件/目录  [参数2]目录
    ————————————————》
[ root@localhost /]#  现在位置
要求1:将opt复制到mnt中
cp /opt /mnt

要求2:将opt目录下的abc目录复制到/
cp /opt/abc /

cp 参数1 参数2 
参数1 一定是原位置,也就是要复制的对象
参数2 表示目标位置,也就是我们要复制“到”的地方

需求1 : 使用ls cd cp命令 进入/opt目录,查看当前有什么,然后复制当前目录下的子目录到/mnt下,并且使用ls命令查看
结果是否成功
-f    force    若目标文件已存在,则会直接覆盖原文(改名复制也行)
-i    interactive    若目标文件已存在,则会询问是否覆盖
-p    preserve    保留源文件或目录的所有属性
-r    recursive    递归复制文件和目录
-d        当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l    link    对源文件建立硬连接,而非复制文件
-s    symbolic-link    对源文件建立符号连接,而非复制文件
-b        覆盖已存在的文件目标前将目标文件备份
-v    verbose    详细显示cp命令执行的操作过程
-a        等价于“dpr”选项

6、mkdir
基本职能:在指定位置创建新的目录(根据路径判断在哪创建)

需求1 : 在当前位置创建abc
[ root@localhost /opt]# mkdir abc 
 
需求2: 在/位置创建abc
[ root@localhost /opt]# mkdir /abc

madir -p 路径 (当一次创建多层不存在的目录是,需-p 否则报错)
mkdir [-p] 路径1 路径2 路径3
mkdir -p  /shichang/zhangsan/ /qianduan/lisi/ /houduan/wangwu

 
 
7、touch 
要求在/usr/local/httpd中创建一个test文件
touch /usr/local/httpd/test

现在是一台新的机器,要求在/data目录下创建1.txt 文件 
mkdir /data 
touch /data/1.txt

8、cat
cat 基本职能为仅查看“文件”的内容
cat 

可以+多个参数
cat *
ls * 
cp -r /opt/abc /mnt/*             #"*"  无意义
cp -r /opt/abc /mnt*/           #"*" 代表:
cp -r /opt/* /mnt                #"*" 匹配原目录下中所有的东西


9、mv 
1、剪切并复制到指定位置(并自定义名字,也可以默认) 或  2、改文件/目录名称(自定义名称)
mv 简述了mv的基本职能 解释了大概的使用方式
mv 参数1           参数2 
功能1:做为剪切并复制到指定位置(并自定义名字,也可以默认)这个功能来看的话:
参数1 :指的是要剪切的原文件/目录 
参数2 :将剪切的原文件/目录要复制(移动)到的位置
判断1:自定义的话,mv 参数1 参数2 表示 剪切+移动+并重命名 ( 如果目标位置有重名文件,则会提示是否要覆盖?)
判断2:默认的话 mv 参数1 参数2 表示 剪切+移动+使用原名 ( 如果目标位置有重名文件,则会提示是否要覆盖?)

功能2:改文件/目录名称(自定义名称)
改名字: 需不需要移动(不需要切换路径)
mv 参数1 参数2
参数1 和参数2的位置必须要一样 (核心点在于同一目录)
参数1 :需要更改的文件/目录的 路径+名称
参数2 :需要变更为的新名字 路径+新名称
以上完成重命名

find 
find 基本职能 “按条件”尽可能的精确“匹配”到“需要查找的对象”(任意类型)
选项的直接用法
按条件匹配: 
    ① 按照名称
    ② 按照大小
    ③ 按照文件类型
    ④ 按照时间参数
    ⑤ 按照文件指定的拥有者和指定的管理组织(属主和属组)
为什么要按照条件匹配,什么时候需要使用find帮助查找????
举个栗子 :BOSS 、租房
1、东西太多,不好找,不易精确、快速找到
 find 可以在庞大的一个操作系统中,按照自定义的条件(根据条件的精确性和多样性),尽可能的自动帮助我们快速的
 找到我们需要的对象
2、为什么find 至少有以上5条条件匹配方式??
find 目的是找文件/目录。而目录/文件是不是有自己的基本属性,例如大小、时间、归属者和组织、名称、类型

① 名称:-name 
-name :可以跟精确的名字  "tianqi"
        可以跟模糊匹配    "tianqi*"  "tianqi?"
② 大小:-size 
-size :可以跟> < =  分别表示在一个指定值之上/之下和/近似
        单位: KB M GB
③ 文件类型:-type
-type :根据文件本身的类型来定义条件的 -f -d -b -c -l 
④ 按照时间参数:-ctime -atime -mtime 
⑤ 使用者和隶属的管理组织(属主和属组) :-user -group
任意满足一个条件 -o
所有条件均需要满足 -a

find xxx | xargs rm -rf 


10、echo 
echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
1.输入一行文本并显示在标准输出上

$ echo Tecmint is a community of Linux Nerds 
会输出下面的文本:

Tecmint is a community of Linux Nerds 

11、rm 

1、删除单个文件

rm 1.txt
2、强制删除文件,无需确认

rm -rf 1.txt
3、删除文件夹

rm -rf mydir
4、删除目录下全部文件,包括文件夹

rm -rf *
5、删除全部文件,但保留1.txt

rm -rf !(1.txt)
6、删除全部文件,保留1.txt和2.txt

rm -rf !(1.txt|2.txt)

12、su
切换用户
[root@zhouyy /]# su zyy
[zyy@zhouyy /]$ 
[zyy@zhouyy /]$ 
[zyy@zhouyy /]$ 
[zyy@zhouyy /]$ su
密码:
[root@zhouyy /]# 

13、vim/vi
vi:编辑器是所有Unix及Linux系统下标准的编辑器,它就相当于Windows系统中的记事本一样
命令模式(Command mode)
用户启动vim时,首先进入的便是命令模式。命令模式可认为是vim的入口,此模式下敲击键盘的字符都会被当做命令,而非在文本中插入字符。
插入模式(Insert mode) i为进入插入模式
此模式下可以正常地编辑文字,与平时使用习惯差别不大。
底行模式(Last line mode)
此模式下可以执行保存、退出以及其他的一些功能。按下Shift+:即可进入底行模式。输入wq为保存退出,输入q!为不保存退出。

14、ln
 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项
ln [选项]... [-T] 目标 链接名    (第一种格式)
 或:ln [选项]... 目标        (第二种格式)
 或:ln [选项]... 目标... 目录    (第三种格式)
 或:ln [选项]... -t 目录 目标...    (第四种格式)
实例
将目录/usr/mengqc/mub1下的文件m2.c链接到目录/usr/liu下的文件a2.c

cd /usr/mengqc
ln /mub1/m2.c /usr/liu/a2.c
1
2
在执行ln命令之前,目录/usr/liu中不存在a2.c文件。执行ln之后,在/usr/liu目录中才有a2.c这一项,表明m2.c和a2.c链接起来(注意,二者在物理上是同一文件),利用ls -l命令可以看到链接数的变化。

在目录/usr/liu下建立一个符号链接文件abc,使它指向目录/usr/mengqc/mub1

ln -s /usr/mengqc/mub1 /usr/liu/abc
1
执行该命令后,/usr/mengqc/mub1代表的路径将存放在名为/usr/liu/abc的文件中

15、du
u命令是检查硬盘使用情况,统计文件或目录及子目录使用硬盘的空间大小。参数的不同组合,可以更快的提高工作效率,以下仅列出了经常使用到的参数,如需更详细的信息,请用man du命令来获得。
1.命令格式
du [选项][文件]

2.命令功能
显示每个文件和目录的磁盘使用空间。

3.命令参数
     说明
-a    显示所有目录或文件的大小
-b    以byte为单位,显示目录或文件的大小
-c    显示目录或文件的总和
-k    以KB为单位输出
-m    以MB为单位输出
-s    仅显示目录或文件的总计数值
-h    以K,M,G为单位,提高信息可读性
-x    跳过不同的文件系统目录
-S    显示目录的大小,但不含子目录大小。
-D    显示指定符号链接的源文件大小
 

16、which
查看可执行“文件”的位置
n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p  与-n参数相同,但此处的包括了文件的路径。

-w  指定输出时栏位的宽度。

-V  显示版本信息

17、alias
给命令设置别名
alias ll='ls -lt'  #设置别名

注意: 在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号

二、修改系统内设置的命令

查看当前系统版本信息
cat /etc/redhat-release

cat /etc/*release

查看当前内核版本
uname -r


临时修改网卡IP
ifconfig ens33 192.168.80.3/24

ifconfig ens33 192.168.80.3 netmask 255.255.255.0

永久修改网卡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=192.168.80.2        #设置DNS服务器的 IP 地址

重启网卡
systemctl restart network        #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33                    #关闭某个网卡
ifup ens33                        #启动某个网卡

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

查看网卡地址
ifconfig

ip a

cd /etc/sysconfig/network-scripts/  到达主机目录下文件

复制ens33网卡信息到ens37的网卡设置
cp -p ifcfg-ens33 ifcfg-ens37

进入网卡设置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33

添加静态路由条目
临时添加路由(重启network服务失效)
方法一:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口

查看路由表条目
route -n

删除静态路由条目
route del -net 192.168.3.0/24

方法二:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]


永久添加路由(重启network服务生效)
方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2

systemctl restart network

方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2 dev ens33        #默认路由,另一种格式 0.0.0.0/0 192.168.14.254 dev ens33
10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200  via 192.168.14.254 dev ens33

systemctl restart network

systemctl stop firewalld(关闭防火墙)
systemctl disable firewalld
setenforce 0


测试网络连接
ping     (最常用)
traceroute    (静态跟踪)判断链路中哪个三层设备有问题
mtr                    (动态跟踪)检测延迟(其中之一)
***tcpdump(检测网络)


重启系统
reboot        
init 6
shutdown -r now

关机
poweroff
init 0
shutdown -h now

shutdown -c(取消)

小知识:
给命令行提示字符加颜色
PS1="\[\e[1;34m\][\u@\h \W]\\$\[\e[0m\] "

PS1="\[\e[1;35m\][\[\e[1;34m\]\u\[\e[1;36m\]@\[\e[1;34m\]\h \[\e[1;31m\]\w\[\e[1;35m\]]\[\e[1;36m\]\\$\[\e[0m\] "

\[\e[1;35m\][ ====> 定义左边的"["
\[\e[1;34m\]\u ====> 定义用户名
\[\e[1;36m\]@ ====> 定义"@"
\[\e[1;34m\]\h ====> 定义第一个点(.)之前的主机名
\[\e[1;31m]\w ====> 定义目录完整路径
\[\e[1;35m]] ====> 定义"]"
\[\e[1;36m\]\\$ ====> 定义"#"或"$"
\[\e[0m\] ====> 一段不显示字串的结束

/etc/resolv.conf
是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名。最多可以指定3个不同的DNS服务器地址,优先使用第一个 DNS 服务器。对该文件所做的修改将会立刻生效。
nameserver 192.168.80.2           #定义DNS服务器的IP地址

注意:此配置文件与网卡配置文件的DNS1参数作用相同,哪个最后修改或重启,系统就使用哪个配置。


### 关闭防火墙软件

1. 临时关闭命令 systemctl stop firewalld.service
2. 查看服务状态 systemctl status firewalld.service
3. 永久关闭(下次开机不自启动) systemctl disable firewalld.service 


####关闭 SELinux
对于 SELinux,初学者可以这么理解,它是部署在 Linux 上用于增强系统安全的功能模块。
1. 临时关闭命令 setenforce 0     
2. 查看服务状态 /usr/sbin/sestatus -v
3. 永久关闭(下次开机不自启动)修改vim /etc/selinux/config     将配置文件中的SELINUX=enforcing改为SELINUX=disabled
设置永久关闭之后需要重启机器

系统的初始化环境
1、关闭防火墙 禁用防火墙
2、关闭核心防护 配置永久禁用
3、建议 配置好DNS /etc/resolv.conf

三、Linux命令行的辅助操作


Tab键:自动补齐/按两下帮忙查询相同前缀的目录或文件(cd会显示目录,vim会显示文件)
反斜杠“\”强制换行(在长命令的情况下使用便于排错,更加工整)
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏,或者clear
Ctrl+C组合键:取消本次命令编辑
Ctrl+A组合键:切换到行首
Ctrl+E组合键:切换到行尾
 

四、shell

  1. Linux系统中运行的一种特殊程序
  2. 在用户和内核之间之间充当“翻译官”
  3. 用户登陆Linux系统时,自动加载一个Shell程序
  4. Bash是Linux系统中默认使用的Shell程序

内核:用于调用计算机硬件资源
shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源
bash是一个文件,linux系统中万物皆文件
bash文件位于/bin/bash

五、Linux命令分类

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

区别:

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

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

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

小节:
一、shell
shell:用户和内核之间的翻译官,用于 用户-内核的相互翻译
二、命令分类
为什么要讲命令
因为操作系统是给我们用的,我们会安装操作(服务的控制管理命令)
centos操作系统的内建命令和外部命令区别
★★/usr/bin/ /usr/sbin /usr/local/sbin /usr/local/bin
以上的目录是用来存放系统能够识别的命令文件用的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值