0001,启动linux图形界面
- startx
0002,设置系统区域,语言等
-
local
:查看当前系统的的locale信息$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
-
localectl
:修改locale显示出来的信息。-
localectl -h
:查看帮助 -
list-locales
:列出所有可以使用的locale信息,各个国家都有 -
set-locale
:修改locale信息用中文显示系统:
localectl set-locale LANG=zh_CN.utf8
LC_CTYPE等都可以修改。
localectl set-locale LC_CTYPE=xxx
还可以使用LC_ALL一次修改所有LC_的值。
-
0003,查看是否启动了ssh进程,也就是查看是否监听tcp协议的22端口,只有启动了ssh,才能在远程访问此系统。
ss -tnl
0004,查看自己的ip地址
ifconfig
ip addr list
0005,关闭防火墙
- centos7:
systemctl disable firewalld.service
systemctl stop firewalld.service
- centos6:
service iptables stop
chkconfig iptables off
0006,查看使用的是什么shell
echo $SHELL
0007,终端种类
- 物理终端:console(/dev/console)
- 虚拟终端:tty(/dev/tty#)#:数字
- 串行终端:ttys(/dev/ttys#)#:数字
- 伪终端:pts(/dev/pts/#)#:数字
0008,查看当前终端编号
tty
0009,关机(poweroff),重启(reboot)
0010,取得名字
-
basename
$ basename /usr/local/bin/docker-compose docker-compose $ basename /usr/local/bin/ bin
0011,取得路径
-
dirname
$ dirname /usr/local/bin/docker-compose /usr/local/bin [ys@localhost ~]$ dirname /usr/local/bin/ /usr/local
0012,查看文件类型
-
file
:$ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ceaf496f3aec08afced234f4f36330d3d13a657b, stripped
linux系统里的可执行文件的类型是ELF格式的
文件文件的类型是ASCII。
库文件的类型是shared library
软连接的类型是Symbolic links
0013,linux系统里命令分类
-
buildin(嵌入到shell进程里的命令):这个命令的代码是和shell的代码是一起编译出来的,所以在磁盘上不存在此命令对应的可执行文件。比如
cd
命令。 -
外部命令:装载磁盘上的可执行文件到内存,并执行。比如
ls
命令。其实在终端输入ls后,实际执行的是ls --color=auto
。如果就想要执行ls怎么办呢?使用\\command
,就可以了。 -
使用
type
命令可以查看命令是外部命令还是buildin命令。$ type cd cd is a shell builtin $ type ls ls is aliased to `ls --color=auto\'
-
shell在执行用户输入的命令后,如果是外部命令,则shell进程必须找到外部命令所对应的可执行文件在哪里,找到后加载到内存中并执行它。但是shell是怎么找到ls命令的可执行文件的呢?是通过查找环境变量PATH,来查找的,查找是从左到右,只要找到了就不去后面的路径里找了,所以如果在2个目录里都有
ls
命令的可执行文件,则使用最左面的。目录间用冒号分隔。$ echo $PATH /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ys/.local/bin:/home/ys/bin
0014,获取命令使用帮助
-
获得简要格式的使用帮助
- buildin:
help COMMAND
- 外部:
COMMAND --help
- buildin:
-
获得详细的帮助手册
帮助手册文件存放在/usr/share/man/下。有的命令的帮助手册是分章节的,章节的帮助手册存放在/usr/share/man/man#(数字和字母)/目录下。
$ ls /usr/share/man/ man1 man2 man3 man4 man5 man6 man7 man8
-
man1下:用户命令
-
man2下:系统调用函数
-
man3下:C库函数
-
man4下:设备文件及特殊文件
-
man5下:文件格式(配置文件格式)
-
man6下:游戏使用帮助
-
man7下:杂项
-
man8下:管理工具及守护进程
-
man COMMAND
:从man1到man8查找,找到就显示。但有的命令会放在多个man目录下,所以想看特定章节下的使用帮助,则必须使用数字,来告诉man命令,显示哪个章节的。例如:命令
passwd
,既在man1下有,也在man5下也有,如果不指定数字,则只显示man1下的使用帮助,指定数字5,就显示man5下的使用帮助。$ man 5 passwd
-
name:功能性说明
-
synopsis:语法
[]:可选内容
<>:必须提供的内容
a|b|c:多选一
...:同类可以出现多次
-
description:功能描述
-
example:使用例子
-
author:作者
-
bugs:报告bug的方式
-
see also:参考
-
-
如何查看命令在哪些章节里有呢?
whatis command
$ whatis ls ls (1) - list directory contents ls (1p) - list directory contents
发现在目录/usr/share/man/man1和/usr/share/man/man1p下都有passwd的使用帮助手册。
所以可以使用
man 1 ls
和man 1p ls
来查看ls的使用帮助。 -
并不是所有命令都可以使用
whatis
来调查,当自己装了可执行程序后,whatis
就查不到它。因为whatis
是查询数据库的,这时就使用makewhatis
命令,把新装的可执行程序加入到数据库里后,whatis
就可以调查它了。
-
-
浏览帮助手册的方法
- 向下翻一屏:空格
- 向上翻一屏:b
- 向下翻半屏:ctrl+d
- 向上翻半屏:ctrl+u
- 向下翻一行:回车
- 向上翻一行:k
- 跳到最后一行:G
- 跳到第一行:1G
- 跳到任何行:#(行号)G
-
搜索帮助手册的方法
- /target:区分大小写,从上往下搜索。
- n:往下搜索下一个
- N:往上搜索上一个
- ?target:区分大小写,从下往上搜索。
- n:往上搜索上一个
- N:往下搜索下一个
- /target:区分大小写,从上往下搜索。
-
去指定目录找帮助手册
使用-M选项,后加手册文件所在的目录
-
获取在线的帮助文档
- info command
-
很多程序自带帮助文档:/usr/share/doc/app-version
- README:相关信息
- INSTALL:安装信息
- CHANGES:版本改动信息
-
主流发行版官方文档
-
程序的官方文档:去官方站点找。
0015,切换目录cd
- 切换到上一次所在的目录:
cd -
- 环境变量PWD:存放当前所在的目录。用
echo $PWD
验证 - 环境变量OLDPWD:存放上一次所在的目录。用
echo $OLDPWD
验证
- 环境变量PWD:存放当前所在的目录。用
- 切换到别的user的家目录:
cd ~user
。bash下好用。必须有权限才可以。
0016,显示目录下有哪些文件ls
- -a:显示所有文件,包含隐藏文件
- -A:显示所有文件,包含隐藏文件,但是不显示【.】和【..】
- -l:显示详细信息,
- 第一个数字:表示文件被硬链接的次数
- 第二个数字:文件的大小,单位是字节
- -h:对单位字节进行换上,变成容易读
- -d:查看目录自身的属性,而不是目录下文件的属性。通常和-l一起使用。
- -r:逆序显示
- -t:按文件的最后一次修改时间排序,最后被修改的放在最前面;配和-r,就能够把最后被修改的文件放到最后面。
- -R:递归显示子目录
0017,把文件里的内容连接到一起,显示到标准输出cat
-
-n:给内容加上行号
-
-E:显示行结束符
cat -nE /etc/issue /etc/fstab 1 \\S$ 2 Kernel \\r on an \\m$ 3 $ 4 $ 5 #$ 6 # /etc/fstab$ 7 # Created by anaconda on Fri Nov 29 16:44:28 2019$ 8 #$ 9 # Accessible filesystems, by reference, are maintained under \'/dev/disk\'$ 10 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info$ 11 #$ 12 /dev/mapper/centos-root / xfs defaults 0 0$ 13 UUID=3d3b316a-529e-484a-9895-e785fdde5365 /boot xfs defaults 0 0$ 14 /dev/mapper/centos-home /home xfs defaults 0 0$ 15 /dev/mapper/centos-swap swap swap defaults 0 0$
0018,把cat命令显示出来的内容反转过来。tac
0019,回显。echo
后面的字符串可以是单引号,也可以是双引号
-
单引号:里面的变量不执行替换。
-
双引号:里面的变量执行替换。
#echo "$SHELL" /bin/bash # echo \'$SHELL\' $SHELL
-
在bash里变量的正规引用是:${name}
-
-n:不换行
-
-e:让转意字符生效
echo -e "hello \\nworld" hello world
0020,关机,重启shutdown
shutdown [OPTIONS...] [TIME] [WALL...]
- -h:关机
- -r:重启
- -c:取消
- time:
- now:马上
- hh:mm:指定时间
- +m:几分钟后
- WALL:发送给所有终端的信息
# shutdown -r +5 "shutdown in 5 minii"
# shutdown -c "cancle shutdown in 5 minii"
0021,linux里面有2种时钟,硬件时钟和系统时钟
0022,显示系统时钟时间date [OPTION]... [+FORMAT]
-
FORMAT:
%a locale\'s abbreviated weekday name (e.g., Sun) %A locale\'s full weekday name (e.g., Sunday) %b locale\'s abbreviated month name (e.g., Jan) %B locale\'s full month name (e.g., January) %c locale\'s date and time (e.g., Thu Mar 3 23:05:25 2005) %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g., 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %T time; same as %H:%M:%S ...
# date +%F 2019-12-12 # date +%T 18:11:03 # date +"%F %T" 2019-12-12 18:14:59 # date +%F~%T 2019-12-12~18:15:10
0023,修改当前系统时钟时间date [MMDDhhmm[[CC]YY][.ss]]
0024,显示硬件时钟clock和hwclock
0025,修改硬件时钟时间
- -s:--hctosys:把硬件时钟时间调整成系统时钟时间
- -w:--systohc:把系统时钟时间调整成硬件时钟时间
0026,查看日历cal
- 查看某年的日历:
cal 2019
- 查看某年某月的日历:
cal 12 2019
- 查看当前月的日历:
cal
0027,查看哪些命令是别名命令alias
# alias
alias cp=\'cp -i\'
alias egrep=\'egrep --color=auto\'
alias fgrep=\'fgrep --color=auto\'
alias grep=\'grep --color=auto\'
alias l.=\'ls -d .* --color=auto\'
alias ll=\'ls -l --color=auto\'
alias ls=\'ls --color=auto\'
alias mv=\'mv -i\'
alias rm=\'rm -i\'
alias which=\'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde\'
-
自定义别名
alias name=\'command\'
。注意:只在当前shell进程里有效。$ alias ll=\'ls -lrt\'
-
撤销别名:
unalias name
0028,查找可执行程序,存放在哪里
-
语法:
which [options] programname [...]
-
----skip-alias:不显示别名,只显示存放路径。
# which --skip-alias ls /usr/bin/ls
0029,查找可执行程序,可执行程序对应的源代码,可执行程序对应的帮助文件,存放在哪whereis
- 语法:
whereis [options][-BMS directory... -f] name...
- -b:只显示可执行程序,存放在哪
- -m:只显示帮助文件,存放在哪
- -s:只显示源代码,存放在哪
0030,查看谁登录的系统who
- 语法:
who [OPTION]... [ FILE | ARG1 ARG2 ]
- -b:最近一次的系统启动时间。
- -d:显示死亡的进程
- -l:显示login processes
- -u:和直接用who差不多,多了2列,其中一列是进程id。
- -r:显示运行级别
0031,查看谁登录的系统,和这些人在运行什么进程w
pts/1是终端的类型,是虚拟终端,编号为1.
IDLE:是多久没有操作终端了。
what:是正在运行哪个进程。
$ w
19:41:10 up 1:14, 4 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.0.104 18:27 1:26 0.11s 0.11s -bash
root pts/2 192.168.0.104 19:18 6.00s 0.06s 0.01s w