linux初学者指南 第7,Linux 基础入门(完成优先于完美)

1、按系列罗列 Linux 的发行版,并描述不同发行版之间的联系与区别。

slackware:SUSE Linux Enterprise Server,OpenSuse

debian:ubuntu,deepin,mint

redhat:RHEL,CentOS,Fedora

本次学习用到的:

CentOS is a Linux distribution that provides a free, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux.

Ubuntu is a Linux distribution based on Debian mostly composed of free and open-source software. Ubuntu is officially released in three editions: Desktop, Server, and Core for Internet of things devices and robots.

学习使用版本:

CentOS-8.1.1911-x86_64-dvd1.iso

CentOS-7-x86_64-Everything-1908.iso

CentOS-6.10-x86_64-bin-DVD1.iso

ubuntu-18.04.5-server-amd64.iso

2、安装 Centos7、6 操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。

[root@centos7 ~]# useradd zhl

[root@centos7 ~]# cat /etc/passwd | grep zhl

zhl:x:1001:1001::/home/zhl:/bin/bash

[root@centos7 ~]# passwd zhl

Changing password for user zhl.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

[root@centos7 ~]# su - zhl

Last login: Sun Oct 4 16:03:41 CST 2020 on pts/0

[zhl@centos7 ~]$ id

uid=1001(zhl) gid=1001(zhl) groups=1001(zhl) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[root@centos6 ~]# useradd zhl

[root@centos6 ~]# cat /etc/passwd | grep zhl

zhl:x:501:501::/home/zhl:/bin/bash

[root@centos6 ~]# su zhl

[zhl@centos6 root]$ id

uid=501(zhl) gid=501(zhl) groups=501(zhl) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

3、配置环境变量,实现执行 history 的时候可以看到执行命令的时间。

[root@centos7 ~]# HISTTIMEFORMAT="%F %T "

[root@centos7 ~]# history

28 2020-10-04 16:16:16 HISTTIMEFORMAT="%F %T "

29 2020-10-04 16:16:21 history

4、总结 Linux 哲学思想。

一切都是一个文件(包括硬件)

小型,单一用途的程序

链接程序,共同完成复杂的任务

避免令人困惑的用户界面

配置数据存储在文本中

5、总结 Linux 常用命令使用格式,并用实例说明。例如 echo、screen、date、ifconfig、export 等命令

echo

[root@centos8 ~]# help echo

echo: echo [-neE] [arg ...]

Write arguments to the standard output.

Display the ARGs, separated by a single space character and followed by a

newline, on the standard output.

Options:

-n do not append a newline

-e enable interpretation of the following backslash escapes

-E explicitly suppress interpretation of backslash escapes

[root@centos8 ~]# echo -e 'a\x0Ab'

a

b

screen

[root@centos7 ~]# screen --help

Use: screen [-opts] [cmd [args]]

or: screen -r [host.tty]

Options:

-4 Resolve hostnames only to IPv4 addresses.

-6 Resolve hostnames only to IPv6 addresses.

-a Force all capabilities into each window's termcap.

-A -[r|R] Adapt all windows to the new display width & height.

-c file Read configuration file instead of '.screenrc'.

-d (-r) Detach the elsewhere running screen (and reattach here).

-dmS name Start as daemon: Screen session in detached mode.

-D (-r) Detach and logout remote (and reattach here).

-D -RR Do whatever is needed to get a screen session.

-e xy Change command characters.

-f Flow control on, -fn = off, -fa = auto.

-h lines Set the size of the scrollback history buffer.

-i Interrupt output sooner when flow control is on.

-l Login mode on (update /var/run/utmp), -ln = off.

-ls [match] or

-list Do nothing, just list our SockDir [on possible matches].

-L Turn on output logging.

-m ignore $STY variable, do create a new screen session.

-O Choose optimal output rather than exact vt100 emulation.

-p window Preselect the named window if it exists.

-q Quiet startup. Exits with non-zero return code if unsuccessful.

-Q Commands will send the response to the stdout of the querying process.

-r [session] Reattach to a detached screen process.

-R Reattach if possible, otherwise start a new session.

-s shell Shell to execute rather than $SHELL.

-S sockname Name this session .sockname instead of ...

-t title Set title. (window's name).

-T term Use term as $TERM for windows, rather than "screen".

-U Tell screen to use UTF-8 encoding.

-v Print "Screen version 4.01.00devel (GNU) 2-May-06".

-wipe [match] Do nothing, just clean up SockDir [on possible matches].

-x Attach to a not detached screen. (Multi display mode).

-X Execute as a screen command in the specified session.

[root@centos7 ~]# screen -ls

There is a screen on:

71922.pts-0.centos7 (Attached)

1 Socket in /var/run/screen/S-root.

date

[root@centos8 ~]# date --help

Usage: date [OPTION]... [+FORMAT]

or: date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

Display the current time in the given FORMAT, or set the system date.

Mandatory arguments to long options are mandatory for short options too.

-d, --date=STRING display time described by STRING, not 'now'

--debug annotate the parsed date,

and warn about questionable usage to stderr

-f, --file=DATEFILE like --date; once for each line of DATEFILE

-I[FMT], --iso-8601[=FMT] output date/time in ISO 8601 format.

FMT='date' for date only (the default),

'hours', 'minutes', 'seconds', or 'ns'

for date and time to the indicated precision.

Example: 2006-08-14T02:34:56-06:00

-R, --rfc-email output date and time in RFC 5322 format.

Example: Mon, 14 Aug 2006 02:34:56 -0600

--rfc-3339=FMT output date/time in RFC 3339 format.

FMT='date', 'seconds', or 'ns'

for date and time to the indicated precision.

Example: 2006-08-14 02:34:56-06:00

-r, --reference=FILE display the last modification time of FILE

-s, --set=STRING set time described by STRING

-u, --utc, --universal print or set Coordinated Universal Time (UTC)

--help display this help and exit

--version output version information and exit

[root@centos8 ~]# date -d @date +%s

Sun Oct 4 21:10:46 CST 2020

ifconfig

[root@centos8 ~]# ifconfig --help

Usage:

ifconfig [-a] [-v] [-s] [[]

]

[add

[/]]

[del

[/]]

[[-]broadcast [

]] [[-]pointopoint [
]]

[netmask

] [dstaddr
] [tunnel
]

[outfill ] [keepalive ]

[hw

] [mtu ]

[[-]trailers] [[-]arp] [[-]allmulti]

[multicast] [[-]promisc]

[mem_start ] [io_addr ] [irq ] [media ]

[txqueuelen ]

[[-]dynamic]

[up|down] ...

[root@centos8 ~]# ifconfig ens33

ens33: flags=4163 mtu 1500

inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::b42f:c7f4:8d16:bc0e prefixlen 64 scopeid 0x20

ether 00:0c:29:2e:10:39 txqueuelen 1000 (Ethernet)

RX packets 26252 bytes 10782373 (10.2 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 9679 bytes 1273609 (1.2 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

export

[root@centos8 ~]# help export

export: export [-fn] [name[=value] ...] or export -p

Set export attribute for shell variables.

Marks each NAME for automatic export to the environment of subsequently

executed commands. If VALUE is supplied, assign VALUE before exporting.

Options:

-f refer to shell functions

-n remove the export property from each NAME

-p display a list of all exported variables and functions

An argument of `--' disables further option processing.

Exit Status:

Returns success unless an invalid option is given or NAME is invalid.

[root@centos8 ~]# export HISTTIMEFORMAT="%F %T "

[root@centos8 ~]# echo $HISTTIMEFORMAT

%F %T

tips:

[root@centos8 ~]# hostname -I

10.0.0.201 192.168.122.1

[root@centos6 ~]# cat /etc/inittab | grep -v "#"

id:3:initdefault:

[root@centos8 ~]# systemctl get-default

multi-user.target

[root@centos8 ~]# systemctl set-default multi-user.target

[root@centos8 ~]# runlevel

N 3

Linux 基础入门

内容概述

1 Linux 基础

1.1 用户类型

1.2 终端 terminal

1.2.1 终端类型

1.2.2 查看当前的终端设备

[root@centos8 ~]# tty

/dev/pts/0

etc相当于Windows注册表

登录前的提示

[root@centos8 ~]# cat /etc/issue

登录后的提示

[root@centos8 ~]# cat /etc/motd

[root@centos8 ~]# ps aux | grep bash

root 858 0.0 0.1 25380 2464 ? S 15:55 0:00 /bin/bash /usr/sbin/ksmtuned

root 1616 0.0 0.2 26560 5084 tty1 Ss+ 15:56 0:00 -bash

root 1936 0.0 0.2 26824 5548 pts/0 Ss 16:05 0:00 -bash

root 4321 0.0 0.0 12108 964 pts/0 R+ 20:09 0:00 grep --color=auto bash

1.3 交互式接口

1.3.1 交互式接口类型

1.3.2 什么是 shell

shell是命令解释器,也是一种高级程序设计语言

1.3.3 各种 shell

1.3.4 bash shell

[root@centos8 ~]# echo $SHELL

/bin/bash

显示当前系统使用的所有shell

[root@centos8 ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

1.4 设置主机名

[root@centos8 ~]# hostname

centos8.magedu.org

wang@ubuntu1804:~$ cat /etc/hostname

ubuntu1804

root@ubuntu1804:~# hostname ubuntu1804.magedu.org

root@ubuntu1804:~# hostname

ubuntu1804.magedu.org

root@ubuntu1804:~# hostnamectl set-hostname ubuntu1804.magedu.org

root@ubuntu1804:~# cat /etc/hostname

ubuntu1804.magedu.org

注意:主机名不要使用下划线

1.5 命令提示符

[root@centos8 ~]# echo $PS1

[\u@\h \W]\$

个人设置

[root@centos8 ~]# cat /etc/profile.d/env.sh

1.6 执行命令

1.6.1 执行命令过程

1.6.2 shell 中可执行的两类命令

特殊外部命令,别名(磁盘上的文件,不属于bash内部)

[root@centos8 ~]# ls /bin/bash

/bin/bash

[root@centos8 ~]# ll /bin/bash

-rwxr-xr-x. 1 root root 1219248 Nov 9 2019 /bin/bash

[root@centos8 bin]# ls /bin/ls

/bin/ls

[root@centos8 bin]# ll /bin/ls

-rwxr-xr-x. 1 root root 166448 May 12 2019 /bin/ls

[root@centos8 bin]# type hostname

hostname is hashed (/usr/bin/hostname)(第一次执行在磁盘中找,第二次执行时文件路径已存在hash内存中)

[root@centos8 bin]# type echo

echo is a shell builtin

[root@centos8 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@centos8 ~]# hash

hits command

2 /usr/bin/hostname

4 /usr/bin/ls(执行了四次了)

[root@centos8 ~]# type type

type is a shell builtin

shell不同,内部命令不同,所以会有同名的内部、外部命令

[root@centos8 ~]# type -a echo

echo is a shell builtin

echo is /usr/bin/echo

1.6.2.1 内部命令相关

enable . 对等 enable source

修改完配置文件后,不用重启、退出重登,应用下

#. /etc/profile.d/env.sh

#source /etc/profile.d/env.sh

yum install nano

dnf install nano(centos8)

[root@centos8 ~]# help

[root@centos8 ~]# enable

enable可以禁用内部命令 -n(比如禁用内部echo)

enable输出中就没了被禁用命令,help会标记被禁用

此时外部echo还能用

enable -n enable,由于没保存文件,exit,再登录,就正常了

1.6.2.2 执行外部命令

退出后,hash缓存会清除

hash -r清除hash缓存

避免命令被移走,而之前hash存放之前的路径缓存,执行时报没有命令

hash -d hostanme清理单条hash缓存

[root@centos8 ~]# type -a echo

echo is a shell builtin

echo is /usr/bin/echo

[root@centos8 ~]# which enable

/usr/bin/which: no enable in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

[root@centos8 ~]# which reboot

/usr/sbin/reboot

[root@centos8 ~]# which echo

/usr/bin/echo

[root@centos8 ~]# whereis ls

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz(多显示了帮助)

1.6.3 命令别名

每个用户都有.bashrc,在这里加别名

[root@centos8 ~]# cat .bashrc | grep alias

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

[root@centos8 ~]#

修改完

#. .bashrc

#source .bashrc

unalias

[root@centos8 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 200G 0 disk

├─sda1 8:1 0 1G 0 part /boot

├─sda2 8:2 0 100G 0 part /

├─sda3 8:3 0 50G 0 part /data

├─sda4 8:4 0 1K 0 part

└─sda5 8:5 0 4G 0 part [SWAP]

sr0 11:0 1 7G 0 rom(光盘)

添加硬盘

不用重启,扫盘

[root@centos8 ~]# type ls

ls is aliased to `ls --color=auto'

[root@centos8 ~]# which ls

alias ls='ls --color=auto'

/usr/bin/ls

[root@centos8 ~]# ls

[root@centos8 ~]# type cdnetwork(判断是否已有命令名)

-bash: type: cdnetwork: not found

[root@centos8 ~]# alias cdnetwork="cd /etc/sysconfig/network-scripts/"

[root@centos8 ~]# type cdnetwork(此时可以看出已经是别名)

exit,别名消失

非要把别名设置成已有命令

别名优先级高

别名>内部命令>外部命令(hash)>无此命令

hash缓存的外部命令

找外部命令,先hash,后路径

1.6.4 命令格式

[root@centos8 ~]# free -h

total used free shared buff/cache available

Mem: 1.9Gi 298Mi 1.3Gi 9.0Mi 326Mi 1.5Gi

Swap: 4.0Gi 0B 4.0Gi

[root@centos8 ~]# free --human

total used free shared buff/cache available

Mem: 1.9Gi 298Mi 1.3Gi 9.0Mi 326Mi 1.5Gi

Swap: 4.0Gi 0B 4.0Gi

[root@centos8 ~]# ls -a

. .bash_logout .config Documents initial-setup-ks.cfg .pki Videos

.. .bash_profile .cshrc Downloads .local Public .Xauthority

anaconda-ks.cfg .bashrc .dbus .esd_auth Music .tcshrc

.bash_history .cache Desktop .ICEauthority Pictures Templates

[root@centos8 ~]# ls --all

. .bash_logout .config Documents initial-setup-ks.cfg .pki Videos

.. .bash_profile .cshrc Downloads .local Public .Xauthority

anaconda-ks.cfg .bashrc .dbus .esd_auth Music .tcshrc

.bash_history .cache Desktop .ICEauthority Pictures Templates

[root@centos8 ~]# ps

PID TTY TIME CMD

6567 pts/1 00:00:00 bash

7889 pts/1 00:00:00 ps

[root@centos8 ~]# ps a

PID TTY STAT TIME COMMAND

1616 tty1 Ss+ 0:00 -bash

6567 pts/1 Ss 0:00 -bash

7890 pts/1 R+ 0:00 ps a

[root@centos8 ~]# ps au

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1616 0.0 0.2 26560 5084 tty1 Ss+ 00:45 0:00 -bash

root 6567 0.0 0.2 26692 5464 pts/1 Ss 08:52 0:00 -bash

root 7891 0.0 0.1 57184 3800 pts/1 R+ 11:00 0:00 ps au

[root@centos8 ~]# iptables -vnL

Chain INPUT (policy ACCEPT 5932 packets, 8898K bytes)

pkts bytes target prot opt in out source destination

0 0 ACCEPT udp -- virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:53

0 0 ACCEPT tcp -- virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

0 0 ACCEPT udp -- virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:67

0 0 ACCEPT tcp -- virbr0 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target prot opt in out source destination

0 0 ACCEPT all -- virbr0 0.0.0.0/0 192.168.122.0/24 ctstate RELATED,ESTABLISHED

0 0 ACCEPT all -- virbr0 192.168.122.0/24 0.0.0.0/0

0 0 ACCEPT all -- virbr0 virbr0 0.0.0.0/0 0.0.0.0/0

0 0 REJECT all -- virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

0 0 REJECT all -- virbr0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 3290 packets, 343K bytes)

pkts bytes target prot opt in out source destination

0 0 ACCEPT udp -- * virbr0 0.0.0.0/0 0.0.0.0/0 udp dpt:68

[root@centos8 ~]# iptables -Lnv

iptables: No chain/target/match by that name.

^C强行退出

^D正常退出

1.7 常见命令

1.7.1 查看硬件信息

1.7.1.1 查看 CPU

[root@centos8 ~]# lscpu

[root@centos8 ~]# cat /proc/cpuinfo

1.7.1.2 查看内存大小

[root@centos8 ~]# free

total used free shared buff/cache available

Mem: 2012252 306036 1371512 9368 334704 1540244

Swap: 4194300 0 4194300

[root@centos8 ~]# cat /proc/meminfo

proc显示的是内存中的文件

[root@centos8 ~]# ll /proc/meminfo

-r--r--r--. 1 root root 0 Oct 2 15:54 /proc/meminfo(大小为0)

1.7.1.3 查看硬盘和分区情况

[root@centos8 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 200G 0 disk

├─sda1 8:1 0 1G 0 part /boot

├─sda2 8:2 0 100G 0 part /

├─sda3 8:3 0 50G 0 part /data

├─sda4 8:4 0 1K 0 part

└─sda5 8:5 0 4G 0 part [SWAP]

sr0 11:0 1 7G 0 rom

[root@centos8 ~]# cat /proc/partitions

major minor #blocks name

11 0 7377920 sr0

8 0 209715200 sda

8 1 1048576 sda1

8 2 104857600 sda2

8 3 52428800 sda3

8 4 1 sda4

8 5 4194304 sda5

1.7.2 查看系统版本信息

1.7.2.1 查看内核版本

[root@centos8 ~]# uname -r

4.18.0-147.el8.x86_64

1.7.2.2 查看操作系统发行版本

[root@centos8 ~]# cat /etc/redhat-release

CentOS Linux release 8.1.1911 (Core)

[root@centos8 ~]# cat /etc/os-release

1.7.3 日期和时间

[root@centos8 ~]# date(修改时间,也是保存在内存中,重启时间又恢复)

硬件时间,主板时间

[root@centos8 ~]# clock

2020-10-03 11:54:04.446048+08:00

[root@centos8 ~]# clock -s(以硬件时间矫正系统时间)

[root@centos8 ~]# ll /etc/localtime

lrwxrwxrwx. 1 root root 35 Oct 1 19:46 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai

[root@centos8 ~]# timedatectl set-timezone Asia/Shanghai

Ubuntu

# cat /etc/timezone

1.7.4 关机和重启

root@ubuntu1804:~# reboot

root@ubuntu1804:~# init 6

root@ubuntu1804:~# init 0

1.7.5 用户登录信息查看命令

[root@centos8 ~]# w

13:55:51 up 13:11, 2 users, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 - Fri15 21:59m 0.23s 0.23s -bash

root pts/1 10.0.0.1 08:52 0.00s 0.21s 0.01s w

1.7.6 文本编辑

1.7.7 会话管理

关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完

1.7.7.1 screen

1.7.7.2 tmux

1.7.8 输出信息 echo

echo 输出的字符串间以空白字符隔开,并在最后加上换行号

-n 不自动换行

[root@centos8 ~]# echo -e 'a\x0Ab'

a

b

1.8 字符集和编码

字符集(字是如何写)

字符与二进制对应关系

ASCII码

编码(在磁盘上的保存形式)

字体,表现形式

1.8.1 ASCII 码

1.8.2 Unicode

[root@centos8 ~]# echo $LANG

en_US.UTF-8

[root@centos8 ~]# cat /tmp/test.txt

abc

[root@centos8 ~]# hexdump -C /tmp/test.txt

00000000 61 62 63 20 0a |abc .|

00000005

[root@centos8 ~]# ll /tmp/test.txt

-rw-r--r--. 1 root root 5 Oct 3 16:01 /tmp/test.txt

[root@centos8 ~]# man ascii

1.9 命令行扩展和被括起来的集合

1.9.1 命令行扩展:`` 和 $ ()

[root@centos8 ~]# touch date +%F.txt

[root@centos8 ~]# touch $(date +%F).txt

[root@centos8 ~]# ls $(echo $(date +F%).txt)

[root@centos8 ~]# ls echo $(date +F%).txt

[root@centos8 ~]# ls $(echo date +F%.txt)

单引号:六亲不认

反向单引号:变量和命令都识别

双引号:不能识别命令

1.9.2 括号扩展:{}

[root@centos8 ~]# echo {1,3,5}

1 3 5

[root@centos8 ~]# echo 1 3 5

1 3 5

[root@centos8 ~]# echo user{1,3,5}

user1 user3 user5

[root@centos8 ~]# echo file{1,3,5}.txt

file1.txt file3.txt file5.txt

[root@centos8 ~]# echo {1..10}

1 2 3 4 5 6 7 8 9 10

[root@centos8 ~]# echo {20..10}

20 19 18 17 16 15 14 13 12 11 10

[root@centos8 ~]# echo {20..10..2}

20 18 16 14 12 10

[root@centos8 ~]# echo {a..z}

a b c d e f g h i j k l m n o p q r s t u v w x y z

[root@centos8 ~]# echo {a..z..2}

a c e g i k m o q s u w y

[root@centos8 ~]# echo {000..20..2}

000 002 004 006 008 010 012 014 016 018 020

[root@centos8 ~]# echo {a..Z}

a _ ^ ] [ Z
[root@centos8 ~]# man ascii
[root@centos8 ~]# echo {A..z}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ a b c d e f g h i j k l m n o p q r s t u v w x y z

[root@centos8 ~]# echo file{1..10}.{txt,log}

file1.txt file1.log file2.txt file2.log file3.txt file3.log file4.txt file4.log file5.txt file5.log file6.txt file6.log file7.txt file7.log file8.txt file8.log file9.txt file9.log file10.txt file10.log

1.10 tab 键补全

1.10.1 命令补全

命令嵌套子命令(tab子命令补全)

[root@centos8 ~]# nmcli connection

add delete edit help load monitor show

clone down export import modify reload up

需要包

[root@centos8 ~]# rpm -qa bash*

bash-completion-2.7-5.el8.noarch

1.10.2 路径补全

1.10.3 双击 Tab 键

1.11 命令行历史

正常退出,历史命令会追加到文件中。登录,会导入内存

[root@centos8 ~]# cat ~/.bash_history

[root@centos8 ~]# echo $HISTSIZE

1000

[root@centos8 ~]# cat /etc/profile | grep HISTSIZ

HISTSIZE=1000

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

改完后

[root@centos8 ~]# source /etc/profile

[root@centos8 ~]# history -s rm -rf /

[root@centos8 ~]# history

149 echo $HISTSIZE

150 cat /etc/profile | grep HISTSIZ

151 history -s

152 history

153 rm -rf /

154 history

[root@centos8 ~]# cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

1.12 调用命令行历史

1.13 bash 的快捷键

2 获得帮助

2.1 whatis

[root@centos8 ~]# whatis hostname

hostname: nothing appropriate.

[root@centos8 ~]# mandb

[root@centos8 ~]# whatis hostname

hostname (7) - hostname resolution description

hostname (1) - show or set the system's host name

hostname (5) - Local hostname configuration file

[root@centos8 ~]# man -f hostname

hostname (7) - hostname resolution description

hostname (1) - show or set the system's host name

hostname (5) - Local hostname configuration file

2.2 查看命令的帮助

内部命令(type)

help

man

2.3 --help 或 -h 选项

外部命令

cmd --help

[root@centos8 ~]# date +"%F %T"

2020-10-04 09:58:46

[root@centos8 ~]# touch date +%F_%H-%M-%S.log

[root@centos8 ~]# mv app.log appdate -d '-1 day' +%F.log

2.4 man 命令

[root@centos8 ~]# whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

[root@centos8 ~]# whatis passwd

openssl-passwd (1ssl) - compute password hashes

passwd (1) - update user's authentication tokens

passwd (5) - password file

[root@centos8 ~]# man 5 passwd

[root@centos8 ~]# man -k password

[root@centos8 ~]# man 7 utf8

[root@centos8 ~]# man -w ls

/usr/share/man/man1/ls.1.gz

2.5 info

[root@centos8 ~]# info ls

2.6 Linux 安装提供的本地文档获取帮助

2.7 命令自身提供的官方使用指南

[root@centos8 doc]# pwd

/usr/share/doc

2.8 系统及第三方应用官方文档

2.8.1 通过在线文档获取帮助

2.8.2 Linux 官方在线文档和知识库

2.8.3 红帽全球技术支持服务

2.9 网站和搜索

已学:

alias

bc

cal

cat /ect/motd /etc/issue

cd

clear

clock

date

dnf

echo $PS1 $SHELL

enable

exit

file

free

gedit 图形化

halt

hash

help

hexdump

hostname hostnamectl

init 0 3 5 6

logout

lsblk

lscpu

man

mv

nano /etc/motd

poweroff

ps aux

reboot

runlevel

shutdown

sleep

sreen

sudo -i

tmux

tty

type

unalias

uptime

whereis

which

whoami

who who am i

yum

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值