- HelloLinux
我们这里使用VMware进行安装,VMware是一个虚拟化应用程序,它可以在当前运行的操作系统之上,创建一个虚线的主机。
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统的用户,都必须申请一个账号,然后以这个账号的身份进入系统。
我们可以使用在创建服务器时申请的初始用户,通过输入用户名和密码登录到系统中,即可使用各种命令进行操作。其实用户机制和Windows比较类似。一般的普通用户只能做一些比较基本的操作,并且只能在自己的目录(如/home/test)中进行文件的创建和删除操作。
当前状态信息分为三段:
test@ubuntu-server:~$
格式为:用户名@服务器名称:当前所处的目录$,
其中~代表用户目录,如果不是用户目录,会显示当前的绝对路径地址。也可以使用pwd命令来直接查看当前所处的目录。
目录用户下显示~,根目录/下无权限创建文件
文件创建之后的默认权限为可读可写
根目录下有很多个文件夹,它们都有着各自的划分:
/bin 可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等实际上都是一些小的应用程序
/home 普通用户的主目录
/root root用户的主目录
/boot 内核文件的引导目录, 放置 linux 系统启动时用到的一些文件
/sbing 超级用户使用的指令文件
/tmp 临时文件目录,一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
/dev 设备文件目录
/lib 共享库,系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。
/usr 第三方 程序目录
/etc 配置程序目录,系统配置文件存放的目录
/var 可变文件,放置系统执行过程中经常变化的文件
/opt 用户使用目录,给主机额外安装软件所摆放的目录。
常用命令:
touch +文件名称 ==新建文件(可批量创建)
mkdir 创建目录(文件夹)
rm (-r连同删除目录下文件)+文件夹名称 ==删除文件夹
rm *.后缀
ls ==查看当前目录下文件夹
cd .. ==返回上级目录
pwd ==查看当前目录位置
cd ==直接进入用户目录(即home/用户)
ls .. ==上级目录下的文件夹
cat ==查看文本内容
- 用户
我们可以使用sudo -s并输入当前用户的密码切换到root用户
test@ubuntu-server:~$
root@ubuntu-server:/home/test#
退出root用户,直接输入exit
即可。
添加一个新的用户:sudo useradd study
删除用户:sudo userdel study
Linux中的命令一般都可以携带一些参数来以更多特地的方式执行,我们可以在创建用户时,添加一些额外的参数来进行更多高级操作:
-d<登录目录> 指定用户登录时的起始目录。
-g<群组> 指定用户所属的群组。
-G<群组> 指定用户所属的附加群组。
-m 自动建立用户的登入目录。
-M 不要自动建立用户的登入目录。
-s 指定Shell,一般指定为/bin/bash
如果还想查看更多命令,可以直接使用man来查看命令的详细参数列表,比如:man useradd
用户创建完成之后,我们可以为此用户设定密码(如果不指定用户,那么会设置当前用户的密码)
sudo passwd study
输入密码之后,我们可以使用命令来切换用户:
test@ubuntu-server:~$ su - study
Password:
study@ubuntu-server:~$
输入who
可以查看当前登录账号(注意是登录的账号)输入whoami
可以查看当前的操作账号
每个用户都有一个用户组groups
来查看当前用户所有的用户组
id
来查看用户所属的用户相关信息
配置文件一般都放在etc目录下,而用户和用户组相关的配置文件,存放在/etc/passwd
和/etc/group
中,我们可以使用cat命令将文件内容打印到控制台
- 文件操作
ls -a ==查看隐藏文件
ls -l ==列出详细信息(简写ll)
详细信息:
第1个字符表示此文件的类型:-表示普通文件,l为链接文件,d表示目录(文件夹),c表示字符设备、b表示块设备,还有p有名管道、f堆栈文件、s套接字等,这些一般都是用于进程之间通信使用的。
第2-4个字符表示文件的拥有者(User)对该文件的权限,第5-7个字符表示文件所属用户组(Group)内用户对该文件的权限,最后8-10个字符表示其他用户(Other)对该文件的权限。其中r为读权限、w为写权限、x为执行权限,为了方便记忆,直接记UGO就行了。
比如drwxr-xr-x就表示这是一个目录,文件的拥有者可以在目录中读、写和执行,而同一用户组的其他用户只能读和执行,其他用户也是一样。
ln 文件名 链接文件名 ==创建文件的链接文件(快捷方式)
- chmod (u/g/o/a)(+/-)(r/w/x) 文件名称
- ugo中选择或是直接a表示所有,+和-表示添加和删除权限
除了这种方式之外,我们也可以使用数字来代替,比如现在我要给前两个添加读权限,那么:
约定:r=4,w=2,x=1,需要什么权限就让对应权限的数字相加,一个数字表示一个rwx的权限状态,比如我们想修改为-rw-rw-r--
,那么对应的数字就是664
修改文件的拥有者或是所属组,可以使用chown
和chgrp
命令
文件复制:cp+文件目录+重命名
目录复制:cp -r +原目录名+新目录名
文件(目录)移动:mv +文件名+移入文件名(也可直接用于重命名)
mv *.后缀
文件搜索:find 目录 -name 文件名
- 系统管理
任务管理器:top
按下数字键1,可以展示所有CPU核心的使用情况
按下f键可以设置以哪一列进行排序或是显示那些参数(按d修改,s排序)
q退出
free命令来查看当前系统的内存使用情况,-m表示以M为单位,也可以-g表示以G为单位,默认是kb为单位
lsblk
来查看所有块设备的信息,其中就包括我们的硬盘、光驱等
挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
sudo fdisk -l
命令来查看硬盘实体情况sudo fdisk -l
命令来查看硬盘实体情况
mkdir u-test
sudo mount /dev/sda1(要挂载的硬盘) u-test/(挂载目录)
sudo umount /dev/sda1 取消挂载
df
命令查看当前磁盘使用情况
ps
可以查看当前运行的一些进程,其实和top有点类似,但是没有监控功能,只能显示当前的
ps -ef 查看所有的进程
找到对应的进程ID(PID),使用kill命令将其强制终止
test@ubuntu-server:~$ ps
PID TTY TIME CMD
11438 pts/0 00:00:00 bash
11455 pts/0 00:00:00 ps
test@ubuntu-server:~$ kill -9 11438
Connection to 192.168.10.6 closed.
- 1 (HUP):重新加载进程。
- 9 (KILL):杀死一个进程。
- 15 (TERM):正常停止一个进程。
shutdown系统会创建一个关机计划,并在指定时间关机,或是添加now表示立即关机。
- 压缩解压
tar
命令来完成文件压缩和解压操作,在Linux中比较常用的是gzip格式,后缀名一般为.gz,tar命令的参数-c表示对文件进行压缩,创建新的压缩文件,-x表示进行解压操作,-z表示以gzip格式进行操作,-v可以在处理过程中输出一些日志信息,-f表示对普通文件进行操作。如:tar -zcvf test.tar.gz *.txt 、tar -zxvf test.tar.gz
- 文本编辑器VIM
vim 文件名称
来使用Vim编辑器对文本文件进行编辑,默认进入之后为命令模式
命令模式:此模式下可以输入任意的命令进行操作,所有的输入都被看做是命令输入,而不是文本编辑输入。
编辑模式:此模式下输入的任何内容都会以文本编辑方式写入到文件中,就像我们直接在Windows的记事本中写内容一样。
末行模式:此模式下用于输入一些复杂命令,会在最后一行进行复杂命令的输入。
命令模式下,我们可以直接按下键盘上的i
,此命令表示进行插入操作,会自动切换到编辑模式
除了i
以外,我们也可以按下a
表示从当前光标所在位置之后继续写,与i
不同的是,i
会在光标之前继续写,o
会直接跳到下一行,而A
表示在当前行的最后继续写入,I
表示在当前行的最前面继续写入
命令模式下的光标移动命令:
^ 直接调到本行最前面
$ 直接跳到本行最后面
gg 直接跳到第一行
[N]G 跳转到第N行
[N]方向键 向一个方向跳转N个字符
在末行模式下,常用的复杂命令有:
:set number 开启行号
:w 保存
:wq或:x 保存并关闭
:q 关闭
:q! 强制关闭
我们可以输入/或是?在末行模式中使用搜索功能,比如我们要搜索单词it:
/it
接着会在文本中出现高亮,按n跳转到下一个搜索结果,?是从后向前搜索,/是从前向后搜索。
它还支持替换功能,但是使用起来稍微比较复杂,语法如下:
:[addr]s/源字符串/目的字符串/[option]
addr表示第几行或是一个范围,option表示操作类型:
g: globe,表示全局替换
c: confirm,表示进行确认
p: 表示替代结果逐行显示(Ctrl + L恢复屏幕)
i: ignore,不区分大小写
比如我们要将当前行中的it全部替换为he,那么可以这样写:
:s/it/he/g