Linux 基础命令及常用选项/参数/目录(基础设置篇)

一、Linux 终端介绍(命令行模式)

命令提示符:

[root@localhost ~]# 

root # 当前用户的名称
@: 分隔符
localhost: 当前主机的主机名
~: 用户当前所在的目录名称, “~”表示为当前用户的家目录(发音tilde[ˈtɪldə])
#:用户身份提示符,#表示超级管理员用户,也就是特权用户;$表示普通用户 (发音pound[paʊnd])

退出用户登录:exit | ctrl + d
切换用户:su (-)

注意:当你无法使用某个文件或者程序的时候,大多数情况是系统没有安装,需用:
yum (-y)install <命令/进程名/程序名>
某些程序安装包和程序名不相同,可使用以下命令查询:
yum provides <命令/进程名/程序名>

其他下载命令(其他篇章会详细讲解):
rmp | wget (-O)下载网络资源,下载软件 | curl (-o)下载网站源码,获取数据

二、修改主机名

hostnamectl set-hostname <新主机名> #修改主机名,(重新连接终端后生效)
重启终端:bash

三、关机、重启

init0 | poweroff 关机
inti6 | reboot 重启
其他模式:
init1 单用户模式
init2 多用户模式
init3 最小化模式
init4 预留模式
init5 图形化模式
初始化网络配置

四、设置网络配置

启动网卡:ifup ens33 <网卡名>
重启网卡:systemctl restart network
查看ip地址:ip a | ip address(取任意部分) | show(不好用) | ifconfig #不同的命令可能不兼容,建议开始用什么命令设置ip,后续继续使用该命令

五、时间设置

1.查看

查看时区:timedatectl
查看时间:date +<给定的格式>

  %%    一个文字的 %
  %a    当前locale 的星期名缩写(例如: 日,代表星期日)
  %A    当前locale 的星期名全称 (如:星期日)
  %b    当前locale 的月名缩写 (如:一,代表一月)
  %B    当前locale 的月名全称 (如:一月)
  %c    当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
  %C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
  %d    按月计的日期(例如:01)
  %D    按月计的日期;等于%m/%d/%y
  %e    按月计的日期,添加空格,等于%_d
  %F    完整日期格式,等价于 %Y-%m-%d
  %g    ISO-8601 格式年份的最后两位 (参见%G)
  %G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
  %h    等于%b
  %H    小时(00-23)
  %I    小时(00-12)
  %j    按年计的日期(001-366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n    换行
  %N    纳秒(000000000-999999999)
  %p    当前locale 下的"上午"或者"下午",未知时输出为空
  %P    与%p 类似,但是输出小写字母
  %r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)
  %R    24 小时时间的时和分,等价于 %H:%M
  %s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
  %S    秒(00-60)
  %t    输出制表符 Tab
  %T    时间,等于%H:%M:%S
  %u    星期,1 代表星期一
  %U    一年中的第几周,以周日为每星期第一天(00-53)
  %V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
  %w    一星期中的第几日(0-6),0 代表周一
  %W    一年中的第几周,以周一为每星期第一天(00-53)
  %x    当前locale 下的日期描述 (如:12/31/99)
  %X    当前locale 下的时间描述 (如:23:13:48)
  %y    年份最后两位数位 (00-99)
  %Y    年份
  %z +hhmm              数字时区(例如,-0400)
  %:z +hh:mm            数字时区(例如,-04:00)
  %::z +hh:mm:ss        数字时区(例如,-04:00:00)
  %:::z                 数字时区带有必要的精度 (例如,-04,+05:30)
  %Z                    按字母表排序的时区缩写 (例如,EDT)

date # 查看服务器时间

[root@nginx bin]# date
Fri Sep 22 20:17:20 PDT 2023

date +%F # 以2023-09-20格式,显示当前日期

[root@nginx bin]# date +%F
2023-09-22

date +%T # 以20:38:57格式,显示时分秒

[root@localhost ~]# date +%T
11:38:44

date +%X # 以15时08分26秒格式,或时间+AM/PM格式,显示时分秒

[root@localhost ~]# date +%X
11时32分24秒

[root@nginx bin]# date +%X
08:23:41 PM

date +%x # 以2023年08月21日格式,显示日期

[root@localhost ~]# date +%x
2023年09月23日

date +%c # 以2023年08月15日 星期二 17时43分04秒格式,显示完整时间

[root@localhost ~]# date +%c
2023年09月23日 星期六 11时41分00秒

date “+%F-%T” # 用“-”组合显示

[root@localhost ~]# date +%F-%T
2023-09-23-11:48:48

hwclock -r # 查看硬件时间

[root@nginx bin]# hwclock -r
Fri 22 Sep 2023 08:24:12 PM PDT  -0.382775 seconds

2.修改

修改时区:timedatectl set-timezone Asia/Shanghai <时区>
修改时间:
date -s “2022-01-01 10:00:00” # 修改系统时间
hwclock --set --date “2022-01-01 10:00:00” # 修改硬件时间
hwclock -w #将硬件时间写入主板
时间同步:
yum install -y ntpdate # 安装程序
ntpdate ntp.aliyun.com | time.windows.com # 同步阿里云时间
hwclock --hctosys # 同步硬件时间到系统
hwclock --systohc # 同步系统时间到硬件

六、目录结构

1.主要结构

[root@nginx /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var


/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib32 -> usr/lib32
├── lib64 -> usr/lib64
├── libx32 -> usr/libx32
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
          ├── bin
          ├── include
          ├── lib
          ├── lib32
          ├── lib64
          ├── libexec
          ├── libx32
          ├── local
          ├── sbin
          ├── share
          └── src
└── var
          ├── cache
          ├── lib
          ├── local
          ├── lock -> /run/lock
          ├── log
          ├── mail
          ├── opt
          ├── run -> /run
          ├── spool
          └── tmp

目录意义与内容
/

根目录是整个系统最重要的一个目录,所有的目录都是由根目录衍生出来的,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin,/usr/bin

该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等

/boot

该目录中存放系统的内核文件和引导装载程序文件,/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev

设备(device)文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件,包括字符设备和块设备等,常用的是挂载光驱mount /dev/cdrom/mnt

/etc

系统配置文件存放的目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件,重要的配置文件有 /etc/inittab、/etc/fstab、/etc/init.d、/etc/X11(X Window系统有关)、/etc/sysconfig(与网络有关)、/etc/xinetd.d修改配置文件之前记得备份。该目录下的文件由系统管理员来使用,普通用户对大部分文件有只读权限

/home

系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~ 表示当前用户的家目录,~guest表示用户guest的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib,/usr/lib,/usr/local/lib

系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,该目录下存放了各种编程语言库。典型的linux系统包含了C、C++和FORTRAN语言的库文件。/lib目录下的库映像文件可以用来启动系统并执行一些命令,目录/lib/modules包含了可加载的内核模块,/lib目录存放了所有重要的库文件,其他的库文件则大部分存放在/usr/lib目录下

/media

media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等

/mnt

如果你想要暂时挂载某些额外的装置,一般建议可以放置到这个目录中。在早些时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了

/opt

给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc

这个目录本身是一个虚拟文件系统(virtual filesystem)。 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等

/root

系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下

/run

运行时变量数据:从本次启动到现在的系统信息。如当前登陆的用户和正在运行的守护进程,是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除

/sbin,/usr/sbin,/usr/local/sbin

放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用

/tmp

一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv

服务启动之后需要访问的数据目录,如www(web)服务需要访问的网页数据存放在/srv/www内

/sys

这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量

/usr

/usr里面放置的数据属于可分享的与不可变动的(shareable, static),/usr不是user的缩写,其实usr是Unix Software Resource的缩写, 也就是Unix操作系统软件资源所放置的目录,而不是用户的数据,因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下,因此这个目录有点类似Windows 系统的C:\Windows\ + C:\Program files\这两个目录的综合体

/var

/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如MySQL数据库的文件等等

/lost+found

这个目录是使用标准的ext2/ext3档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时,将一些遗失的片段放置到这个目录下。 这个目录通常会在分割槽的最顶层存在,例如你加装一个硬盘于/disk中,那在这个系统下就会自动产生一个这样的目录/disk/lost+found(一般根下不存在)

2./usr 的子目录

目录意义和内容
/usr/X11R6/

为X Window System重要数据所放置的目录,之所以取名为X11R6是因为最后的X版本为第11版,且该版的第6次释出之意

/usr/bin/

绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处(与开机过程有关)

/usr/include/

c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档

/usr/lib/

包含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那可能会有/usr/lib64/目录产生

/usr/local/

系统管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别。 该目录下也是具有bin, etc, include, lib…的次目录

/usr/sbin/

非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon)

/usr/share/

放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件,/usr/share/doc:软件杂项的文件说明,/usr/share/zoneinfo:与时区有关的时区文件

/usr/src/

一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下

3./var 的子目录

目录意义和内容
/var/cache/

应用程序本身运作过程中会产生的一些暂存档

/var/lib/

程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去

/var/lock/

某些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁(lock),以确保该装置只会给单一软件所使用。 举例来说,刻录机正在刻录一块光盘,你想一下,会不会有两个人同时在使用一个刻录机烧片? 如果两个人同时刻录,那片子写入的是谁的数据?所以当第一个人在刻录时该刻录机就会被上锁, 第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使用

/var/log/

非常重要。这是登录文件放置的目录。里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等

/var/mail/

放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件

/var/run/

某些程序或者是服务启动后,会将他们的PID放置在这个目录下

/var/spool/

这个目录通常放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。 这些数据被使用后通常都会被删除。举例来说,系统收到新信会放置到/var/spool/mail/中, 但使用者收下该信件后该封信原则上就会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue/中, 等到被送出后就被删除。如果是工作排程数据(crontab),就会被放置到/var/spool/cron/目录中

4.拓展常用目录

目录意义和内容
/dev/sd*

设备文件,磁盘所在目录

/dev/cdrom

挂载驱动(光驱)文件,镜像文件所在位置

/dev/zero

特殊的字符设备文件,当我们使用或读取它的时候,它会提供无限连续不断的空的数据流(特殊的数据格式流)

/etc/passwd

用户信息

/etc/shadow

影子文件,用户密码存放文件

/etc/group

组信息文件

/etc/hosts

本地域名解析文件

/etc/resolv.conf

DNS解析文件

/etc/sudoers

普通用户提权

/etc/vimrc

vim配置文件

/etc/my.cnf

MySQL配置文件

/etc/nginx.conf

nginx配置文件

/usr/local/nginx

nginx安装路径

/usr/local/mysql

mysql安装路径

/var/log

日志文件存放路径

/var/cache

缓存

/var/ftp

ftp服务器根目录

七、开启和关闭防火墙、selinux

当我们刚学习Linux时所使用的进程大多被防火墙和selinux限制,所以我们需要先关闭它们

1.防火墙

查看:systemctl status firewalld

开启状态

● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2023-09-23 01:44:42 PDT; 6s ago
     Docs: man:firewalld(1)
 Main PID: 18207 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─18207 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

Sep 23 01:44:42 nginx systemd[1]: Starting firewalld - dynamic firewall daemon...
Sep 23 01:44:42 nginx systemd[1]: Started firewalld - dynamic firewall daemon.
Sep 23 01:44:43 nginx firewalld[18207]: WARNING: AllowZoneDrifting is enabled. This is considered an i...now.
Hint: Some lines were ellipsized, use -l to show in full.

关闭状态

● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

临时开启:systemctl start firewalld

临时关闭:systemctl stop firewalld

永久关闭防火墙:systemctl disable firewalld

2.selinux

查看:getenforce

开启状态

[root@nginx var]# getenforce
enforcing

关闭状态

[root@nginx var]# getenforce
Disabled


临时开启:setenforce 1

临时关闭:setenforce 0

永久关闭selinux

[root@nginx var]# vim /etc/sysconfig/selinux
SELINUX=disabled

八、别名

查看别名:type -a <有别名的命令> | alias
设置别名:alias ddd=‘df -Th’
#ddd <别名>
#‘df -Th’ <原命令>
取消别名:unalias <别名>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值