Linux基础指令(一)

时间:2021-08-03 08:10:58

1. Linux 交互式接口:
启动终端以后,在终端附加一个交互式程序
GUI:也就是GNOME一类的桌面程序
X protocol、Window Manager、Desktop
Desktop只是个程序而已:
GNOME、KDE、XFCE
CLI:控制台界面,黑底白字
Shell程序:
sh
bash

2. 显示正在使用的Shell:
echo $SHELL (${SHELL})     //花括号可以不加


3. 显示当前系统使用的所有Shell:
cat /etc/shells

4. 显示当前使用的终端(使用tty):
[zhouplus@bogon Desktop]$ tty
/dev/pts/0

5. 命令提示符:也就是prompt

命令提示符就是这个玩意:[root@bogon Desktop]# 
它到底是什么样子,由一个系统环境变量决定:
[root@bogon Desktop]# echo $PS1
[\u@\h \W]\$
prompt:
管理员#
普通屌丝$

区别内部外部命令的方式:
type 
example: [root@bogon Desktop]# type cd
cd is a shell builtin

执行过的外部命令,会被缓存到哈希表中,可以使用hash来查看:
hash [-r -d]
如果加上-r,则清楚所有的缓存,如果使用-d跟名字,清除对应缓存

所有执行过的命令,也就是运行过的程序,都会记录在历史当中,可以通过history查看:
同时,也会在~(用户目录)中维护一个隐藏文件.bash_history,
这里面是上一次登陆后使用的命令,在本次登出以后会把本次命令也同步进去
history 默认查看历史记录
history -a 追加缓存中记录的到文件中
history -d 删除指定编号的记录
history -c 清空命令历史

而在bash中,使用 ! + 命令历史编号 ,可以快速调用历史
!+ string ,可以快速调用历史中以string开头的命令
而 !! 是快速执行上一条命令


6. 在尝试取得帮助的时候,一个重要的东西叫man
这个是帮助文档,自带的东西基本都有帮助在里面
可以使用whatis查找一个命令的在man中的所在位置,然后使用man 数字 命令,来查看
因为有些命令,在多个手册中都有
然后是man分成9+1=10个
分别是man1~man9 + mann
man1是用户命令,所有用户都可以使用的命令
man2是系统调用,程序员用的多
man3是C库调用
man4是设备文件和特殊文件
man5是配置文件格式
man6是自带游戏。。。。。。
man7是杂项(啥都有)
man8是管理类的命令(分区啊,格式化啊)

man命令自己有个配置文件,标识去哪里找man的手册
/etc/man.config

就是这个


当然,如果而且不想修改配置文件,在一个新环境中
可以是用

man -M path command

在man的使用时,可以使用space ^V ^F 向下翻页,
b ^B 向首部翻页,d向下翻半片,u向上翻半片
e向下翻一行,y、k向上翻一行
退出是q
shift+G跳至文件尾部,G跳至文件首部
数字跳转至某一行
/+keyword 向下搜索,n下一个,N上一个

?+keyword 向上搜索,n向上的下一个,N向上的上一个(也就是向下)



7. info命令可以查看一个程序(命令)的信息


8. 对于程序自身携带的文档,一般在/usr/share/doc/COMMAND_VERSION

一般没啥用。。。



9. cd ~ + 用户名 可以跳转到指定用户的目录下
10. cd - 在上一个目录和当前目录中切换
真谛就是读取$OLDPWD

11. pwd的真谛,就是读取$PWD... 

12. ls: list
显示指定路径下的文件列表;


ls [OPTION]... [DIR]...
-a, --all: 显示所有文件,包括隐藏文件;

-l: 长格式
-rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log
-rw-r--r--:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数字:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
44800:文件的size
Aug 14 14:32 : 文件的最近一次被修改的时间
install.log: 文件名

-h, --human-readable:单位换算

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

-r, --reverse: 逆序显示

-R, --recursive: 递归



13. stat /PATH/TO/SOMEFILE:获取指定文件的元数据


14. 文件查看命令:cat, tac
cat [OPTION]... [FILE]...
-E: 显示行结束符$
-n: 对显示出的每一行进行编号
tac 行倒序显示


15. file 文件类型查看命令
查看文件内容类型

16. 回显命令:echo
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
\n: 换行
\t: 制表符


echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo '$VAR_NAME': 变量不会替换,强引用



17. whatis:
使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字创建为一个数据库;


18. 系统管理类命令:
关机:
halt, poweroff, shutdown, init 0
重启:
reboot, shutdown, init 6
跟用户登录相关:
who, whoami, w