Linux 基础命令,文件类型

1

Linux的两种时钟

系统时钟 :由Linux内核通过CPU的工作频率进行的计时( date 命令所使用)

硬件时钟 :clock命令可以显示出来 ( 主板上所记录的时间 )

2

日期相关的命令

date : 格式化显示或设置时间

[root@gkdaxue ~]# date # 显示时间

Tue Sep 4 21:32:48 CST 2018

[root@gkdaxue ~]# date '+%D'

09/04/18

[root@gkdaxue ~]# date '+%F'

2018-09-04

[root@gkdaxue ~]# date '+%T'

21:32:59

[root@gkdaxue ~]# date '+%F %T'

2018-09-04 21:33:05

-s : 设置时间

[root@gkdaxue ~]# date -s '180904 21:32:09'

Tue Sep 4 21:32:09 CST 2018

[root@gkdaxue ~]# date '+%F %T'

2018-09-04 21:32:10

cal 日历

cal : 显示本年当月的日历

cal 2018 : 显示2018年所有的日历

3

目录相关的命令

1

主目录, 家目录

root : /root

普通用户 : /home/用户名(默认) => /home/tom

~ : 用户的主目录

. : 当前目录

.. : 上一级目录

2

cd 用于切换工作路径

# cd # 或 cd ~ : 回当前用户的家目录

# cd ~用户名 # 跳转到该用户的家目录

# cd - # 在上一个目录和当前目录之间切换

相关的环境变量

PWD : 保存了当前的目录路径

OLDPWD : 上一次所在的目录路径

3

pwd 显示用户当前所处的工作目录

[root@gkdaxue ~]# pwd

/root

4

ls 显示指定路径下的文件列表

-a : 显示家目录中的所有文件, 包括隐藏文件和(., ..)

-A : 显示家目录中的所有文件, 包括隐藏文件,不包括(., ..)

-l : 或 ll # 长格式显示, 以下这种格式

-rw-r--r--. 1 root root 1079 Apr 4 16:22 initial-setup-ks.cfg

-lh : 用人类易读的方式显示文件大小

-rw-r--r--. 1 root root 1.1K Apr 4 16:22 initial-setup-ks.cfg

-d : 显示目录自身相关属性,通常与-l一起使用

-r : 逆序显示

-R : 递归显示

-rw-r--r--. 1 root root 1079 Apr 4 16:22 initial-setup-ks.cfg

包含了文件的类型(-)、访问权限(rw-r--r--)、ACL(.)、文件被硬链接的次数(1)、所有者(root)、所属组(root)、占用的磁盘大小(1079)、修改时间(Apr 4 16:22)和文件名称(initial-setup-ks.cfg)等信息

5

stat 获取指定文件的文件信息

[root@gkdaxue ~]# stat /etc/fstab

File: ‘/etc/fstab’

Size: 465 Blocks: 8 IO Block: 4096 regular file

Device: fd00h/64768d Inode: 16777346 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Context: system_u:object_r:etc_t:s0

Access: 2018-09-14 21:14:44.060382861 +0800

Modify: 2018-04-05 00:12:06.573994189 +0800

Change: 2018-04-05 00:19:53.333961735 +0800

Birth: -

4

Linux下的文件类型

- :普通文件。

d :目录文件。

l :符号链接文件。

b :块设备文件。

c :字符设备文件。

p :管道文件。

s : 套接字(socket)。

·

5

cat 查看纯文本文件

-E : 显示行结束符$

-n : 对显示的每一行进行编号

[root@gkdaxue ~]# cat -n -E /etc/passwd | head -n 1

1 root:x:0:0:root:/root:/bin/bash$

6

file 文件内容类型查看

[root@gkdaxue ~]# file /etc/passwd

/etc/passwd: ASCII text

7

echo 回显命令

终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”

-n : 禁止自动添加换行符号

-e : 允许使用转义符

\n : 换行

\t : 制表符

8

常用的转义字符

1

反斜杠(\) 使反斜杠后面的一个变量变为单纯的字符串

[root@gkdaxue ~]# echo $SHELL

/bin/bash

[root@gkdaxue ~]# echo \$SHELL

$SHELL

2

单引号('') 转义其中所有的变量为单纯的字符串

[root@gkdaxue ~]# echo $SHELL

/bin/bash

[root@gkdaxue ~]# echo '$SHELL'

$SHELL

3

双引号("")保留其中的变量属性,不进行转义处理

[root@gkdaxue ~]# echo $SHELL

/bin/bash

[root@gkdaxue ~]# echo "$SHELL"

/bin/bash

4

反引号() 把其中的命令执行后返回结果

# uname -a # 查看本机的Linux版本和内核信息

# echo uname -a # 查看本机的Linux版本和内核信息

[root@gkdaxue ~]# uname -a

Linux gkdaxue 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@gkdaxue ~]# echo `uname -a`

Linux gkdaxue 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

[root@gkdaxue ~]#

9

which 显示命令对应的程序文件路径

--skip-alias : 禁止显示别名

[root@gkdaxue ~]# which cp

alias cp='cp -i'

/usr/bin/cp

[root@gkdaxue ~]# which --skip-alias cp

/usr/bin/cp

10

whatis : 将当前系统上所有的帮助手册与之对应的关键字创建一个数据库

[root@gkdaxue ~]# whatis read

read (1) - bash built-in commands, see bash(1)

read (1p) - read a line from standard input

read (2) - read from a file descriptor

read (3p) - read from a file

11

系统管理类命令

1

用户登录相关

whoami : 显示当前登录有效用户

who : 系统当前所有的登录会话

w : 系统当前所有的登录会话以及所做的操作

2

关机或重启

halt, poweroff, shutdown, init 0

reboot, shutdown, init 6

shutdown

shutdown [OPTIONS...] [TIME] [WALL...]

-r : reboot

-h : halt

-c : cancel

TIME :

now : 立刻

+3 : 从现在开始, 3分钟之后关机

21:21 : 在21:21分开始关机

12

Linux的文件系统

根文件系统(rootfs) root filesystem

LSB, FHS

FileSystem Heirache Standard

/boot : 引导文件存放目录, 内核文件(vmlinuz), 引导加载器(bootloader, grub)都存放于此目录

/bin : 供所有用户使用的基本命令; 不能关联至独立分区, OS启动即会用到的程序

/sbin : 管理类的基本命令, 不能关联至独立分区, OS启动即会用到的程序

/lib : 基本共享库文件, 以及内核模块文件(/lib/modules)

/lib64 : 专用于x86_64系统上的辅助共享库文件存放位置

/etc : 配置文件目录(纯文本文件)

/home/USERNAME : 普通用户家目录

/root : 管理员的家目录

/media : 便携式移动设备挂载点

/mnt : 临时文件系统挂载点

/dev : 设备文件及特殊文件存储位置

b : block device (可随机访问设备)

c : character device (线性访问设备)

/opt : 第三方应用程序的安装位置

/srv : 系统上运行的服务用到的数据

/tmp : 临时文件

/var : variables data files

cache : 应用程序缓存目录

lib : 应用程序状态信息数据

local : 专用于/usr/local下的应用程序存储可变数据

lock : 锁文件

log : 日志目录及文件

opt : 专用于/opt下的应用程序存储可变数据

run : 运行中的进程相关的数据,通常用于存储进程的pid文件

spool : 应用程序数据池

tmp : 保存系统两次重启之间产生的临时数据

/usr : universal shared, read-only data

bin : 保证系统拥有完整功能而提供的应用程序

sbin : 管理员才可使用

lib : 库文件

lib64 : 用于x86_64库文件

include : C程序的头文件(header files)

share : 结构化独立的数据, 如 doc, man 等

local : 第三方应用程序的安装位置

/proc : 用于输入内核与进程信息相关的虚拟文件系统

/sys : 用于输入当前系统上硬件设备相关信息的虚拟文件系统

/selinux : security enhanced Linux. selinux 相关的安全策略等信息的存储位置

二进制程序 : /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

库文件 : /lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

配置文件 : /etc, /etc/DIRECTORY, /usr/local/etc

帮助文件 : /usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

14

Bash的基础特性

1

one

历史命令

gkdaxue.com

history

环境变量

HISTSIZE : 历史命令记录的条数

HISTFILE : ~/.bash_history

HISTFILESIZE : 命令历史文件记录历史的条数

# history -d 1 # 删除历史命令缓冲区中的第一条

# history -c # 清空历史命令缓冲区

# history 10 # 显示历史命令缓冲区中最近的10条记录

# history -a # 手动追加当前会话缓冲区的命令历史至历史文件(~/.bash_history)中

调用历史中的命令

# !10# 重复执行第10条指令

# !! # 执行上一次执行的命令

# !string# 在历史命令缓冲区中查找最近一个以指定字符串开头的命令

调用上一个命令的最后一个参数

1. !$

# cat /etc/fstab

# l1 !$ # -rw-r--r--. 1 root root 465 Apr 5 00:12 /etc/fstab

2. ESC, .

# cat /etc/fstab

#

# ll # 先按ESC 再按 . 号 -rw-r--r--. 1 root root 465 Apr 5 00:12 /etc/fstab

控制命令历史的记录方式

环境变量 : HISTCONTROL

ignoredups : 忽略连续且相同的命令, 只保留一条

ignorespace : 忽略所有以空白开头的命令

ignoreboth : 以上两者都用

# echo $HISTCONTROL# ignoredups

# export HISTCONTROL="ignorespace"

# echo $HISTCONTROL# ignorespace

修改环境变量值的方式 : export 变量名="变量值"

2

one

补全功能

gkdaxue.com

输出命令或路径的一部分, 如果唯一, 按Tab键, 则会补全, 不唯一, 按两下 Tab键 则会出现列表

# # 命令补全

# pass # 按 Tab键 ==> # passwd

# pas # 按两下 Tab ==> passwd paste pasuspender

3

one

命令行展开

gkdaxue.com

~ : 展开为用户的主目录

~USERNAME : 展开为USERNAME的主目录

{} :可承载一个以逗号分割(中间不能有空格)的列表, 并将其展开为多个路径,

/tmp/ = /tmp/a, /tmp/b

# mkdir -p ~/linshi//

# tree ~/linshi # 显示结果如下

# linshi

#├── a

#│ ├── a1

#│ └── a2

#└── b

# ├── a1

# └── a2

#

# mkdir -p /tmp/linshi2/_

# /tmp/linshi2

#├── x_m

#├── x_n

#├── y_m

#└── y_n

#

# mkdir -p /tmp/linshi3/ # 等于 mkdir -p /tmp/linshi3/}

# /tmp/linshi3

#├── bin

#├── sbin

#└── usr

# ├── bin

# └── sbin

4

one

命令的执行状态

gkdaxue.com

Bash使用 $? 来保存上一条命令的执行结果

$? 为 0 表示成功, 非 0 表示失败

# cat /etc/fstab

# echo $? # ==> 0

# cat /etc/fstab2

# echo #? # ==> 1

15

目录管理类命令

mkdir : 创建文件夹

-p : 存在于不报错, 且递归创建所需要的目录

-v : 显示详细信息

-m MODE : 创建目录时,直接指定权限

tree : 显示目录下的层级结构(需要安装软件)

-d : 只显示目录 # tree -d /etc

-L level : 指定显示的层级目录# tree -L 3 /etc

-P pattern : 只显示由指定pattern匹配到的路径#

rmdir : 只能删除空目录

-v : 显示过程

16

文本文件查看命令

touch

用于创建空白文件或设置文件的时间

文件有三种时间(stat查看)

modify time(mtime) : 文件内容的修改时间

change time(ctime) : 元数据发生改变

access time(atime) : 文件的读取时间

-a : 仅修改“读取时间”(atime)

-m : 仅修改“修改时间”(mtime)

-d : 同时修改atime与mtime

-c : 文件不存在, 就不创建文件

cat

查看文件内容比较少的文件, 文件内容过多, 会一闪而过直到内容结尾

-n : 显示行号

more

查看纯文本文件(内容较多的)

-d : 显示翻页及退出提示

head

查看纯文本文档的前N行

-n NUMBER : 指定获取前NUMBER行

tail

查看纯文本文档的后N行或持续刷新内容

-n NUMBER : 指定获取后NUMBER行

-f : 持续刷新一个文件的内容

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181009G0VP5Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券