基础命令
(1)date
date :系统时间
date -d “-1 day”
date -d “+1 day”
date -d “+3 day” “+%Y-%m-%d %H:%M:%S”
date “+%Y-%m-%d %H:%M:%S”
date -s “19710101”
(2)cd
cd :返回到用户主目录
cd ~ :返回到用户家目录
cd - :返回上次执行目录
cd /etc :进入/etc
cd /boot/grub
cd … :返回上一层目录
cd . :当前目录
(3)重启
shutdown -r now
init 6
reboot
(4)关机
shutdown -h now
init 0
poweroff
(5)ls
ls -a
ls -l
ls /etc/
ls -a /etc/
ls -lh
ls -ld test/
ll <—>ls -l
[root@localhost ~]# ls -l
-rw-------. 1 root root 1616 1月 12 08:57 anaconda-ks.cfg
-rw-------. 1 root root 1616 7月 3 10:21 anaconda-ks.cfg.20200703102156
-rw-r–r--. 1 root root 10 7月 3 11:43 file
-rw-r–r--. 1 root root 11 7月 5 2020 file2
drwxr-xr-x. 3 root root 42 7月 3 11:30 test
显示文件类型
- : 普通文件
d :目录
s :套接字文件
rw------- :权限,r读,w写,x执行;-没有权限。
. :SELINUX上下文关系
1 :文件引用数(链接+程序)
root :属主
root : 数组
1616 :大小
7月 3 11:43 :时间
file2 :文件名
l :链接文件
(6)echo 输出
[root@localhost ~]# echo ‘hello world…’
(7)cat 拼接
cat file
cat -n file
cat file file1 file2
tac file : 倒叙打印
(8)命令执行过程
执行命令的本质是运行 二进制文件(程序)----> 进程
启动一个进程
查看命令文件存在的位置:
[root@localhost ~]# which ls
[root@localhost ~]# find / -name ls
普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
实例:验证(1)执行命令本质是执行文件。
(2)执行命令时,是通过加载环境变量查找命令文件位置的。
#vim hello
i
echo “hello world”
esc
:wq
#chmod +x hello
#./hello
只能在当前,目录下运行
#mv hello /usr/local/bin
#hello
在任意目录下均可运行
Linux: 多用户的操作系统:
多个用户如何实现资源的分配:
CPU -----> 时间片
内存 -----> 虚拟内存
IO -----> IO复用技术
Linux系统的每一个进程或者线程都将拥有完整一套资源集。
作业:什么是进程,什么是线程,什么是协程?
(10) linux
UNIX ----> MINIX —> 1991 linux
linux 内核 ----发行版: redhat — Linux Redhat
— Centos
openSUSE
Ubuntu
debian
Centos:
[root@localhost home]# cat /etc/redhat-release
内核版本:
[root@localhost home]# uname -r
(11) 帮助获取:
file :获取命令遵循特定格式规范。(x86-64)
type :判断命令是否是内部命令。
help :获取内部命令帮助
–help
whatis ls
1 :用户指令
5 :文件系统
man 1 ls:
info :在线帮助
(12)vim :文本编辑器,vi —>vim
“命令模式” :dd: 删除当前行
u: 撤销
yy:复制
p:粘贴
x:删除当前字符
/: 查找,从当前到文尾
?: 查找,从当前到文前
n:
N:
h: <–
l: -->
j: 下
k: 上
翻页:pgup,pgdn;ctrl+F,ctrl+B
0,"^",home : 跳到行首
$,end :跳到行尾
G: 跳到文尾
gg: 跳到文首
10gg:
10G:
“编辑模式” : i: 所在位置前插入
a: 所在位置后插入
o: 下一行
O: 上一行
“编辑模式” —“命令模式” : esc
“末行模式” :
:q 退出
:q!强制退出
:w 保存
:w! 强制保存
:x 保存退出
简单来说,在linux系统中有存储位置的命令为外部命令;
没有存储位置的为内部命令,可以理解为内部命令嵌入在linux的shell中,所以看不到。
type来判断到底为内部命令还是内部命令
[root@nebulalinux03 ~]# type help //查看help命令的内外类型help is a shell builtin //可以看到help为内部命令
[root@nebulalinux03 ~]# type passwd //查看passwd这条命令是否在linux系统中存在passwd is /usr/bin/passwd //可以看到passwd的存储位置,因此存在,为外部命令
[root@nebulalinux03 ~]# type cd
cd is a shell builtin
//那么passwd即为外部命令,那么cd为内部命令
shell程序是独特的程序,负责解析用户提供的命令;
给shell一个命令后,shell会按照空格切割成片,按照特定格式和方式去解析 Shell在解析命令的时候,第一个功能就是要想办法找到这个命令,我们键入命令的最左侧是如何找到的,在内部提供了一个环境变量,在众多的环境变 量中有一个叫做PATH.
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;
[root@nebulalinux03 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自左而右; 例子: ls lss报错
如果碰巧在第一个路径,第三个路径下都有ls 那以那个为准这个指的是外部命令,才是有执行路径的
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;
获取帮助的途径
1、help命令
内部命令的帮助文档 。使用help的格式为 help 命令字就可以
[root@nebulalinux03 ~]# help cd
大多数外部命令都可以使用–help来获取帮助,如果这个命令没有–help选项,则会显示简单的命令 格式 命令字 --help
date --help //日期帮助
3、man命令
以全屏显示在线帮助,按q退出,上,下键移动 格式: man 命令字翻屏:
空格键:向文件尾翻一屏; b: 向文件首部翻一屏; Ctrl+d:向文件尾部翻半屏; Ctrl+u:向文件首部翻半屏; 回车键:向文件尾部翻一行; k: 向文件首部翻一行; G:跳转至最后一行; #G: 跳转至指定行; 1G:跳转至文件首部;
文本搜索:
/keyword:从文件首部向文件尾部依次查找;不区分字符大小写; ?keyword:从文件尾部向文件首部依次查找;
n: 与查找命令方向相同; N: 与查找命令方向相反;
1 用户指令 2系统 3程序库 4设备 5文件系统 6游戏 7杂项 8系统指令 9内核指令
一般用man查看一个命令的帮助文档的时候,可以通过whatis查看一下该命令在man帮助文档中的入口,一条 命令可能有多个man手册页入口(注:在使用whatis的时候如果linux计算机开机70分钟,那么你可以自己随意使用 了,如果linux计算机刚刚启动,那么需要执行makewhatis命令来编译一下,否则无法使用whatis命令)
[root@nebulalinux03 ~]# whatis rm
rm (1p) - remove directory entries
rm (1) - remove files or directories [root@model Documents]# whatis passwd
passwd (1) - update user’s authentication tokens
passwd (5) - password file
passwd [sslpasswd] (1ssl) - compute password hashes [root@model Documents]#
在用man查询rm或者passwd的命令的时候,可以输入:
man 5 passwd
man 1 passwd
man 1/1p rm
也可以直接写
man rm
man passwd