韩顺平老师的Linux基础课(复习笔记)
唯手熟尔
今天听了韩老师的课程,深受启发啊!!!
卖油翁的“我亦无他,唯手熟尔”,只是手法熟练罢了!!
还有老黄牛的坚持,别人把时间都放在努力上,而我把时间放在选择上,还习惯于放弃,这是极不可取的,认定一件事,就应该坚持!!!
安装虚拟机
一开始是比较简单的软件安装与虚拟机创建
手动分区时,boot占1G,swap占2G,根目录/占17G,其中boot与根目录都选标准分区和ext4,swap选标准分区和swap。在实际的开发环境时,要勾选kdump哦,而且实际开发时root的密码一定要复杂一点,介绍一个随机生成密码网址,linux建议登录时用权限比较低的用户登录,所以还要设置一个用户名和密码哦
然后韩老师讲了网络连接的桥接模式和NAT模式
桥接模式是说我们创建的虚拟机也会占用我们网段中的一个IP,主机多了会造成IP冲突的问题
NAT是说我会在主机处生成一个虚拟网卡,它和创建的虚拟机的IP是 一个网段的但是与我主机的ip不是一个网段,当我用虚拟机访问其他主机是会发生地址转换,这便是NAT
然后讲了虚拟机的克隆,用文件夹复制或者用VM克隆(记得关闭正在运行的linux系统)
然后是虚拟机快照,就是回到虚拟机原先的一个状态,这个功能可以在将要做一些危险操作的时候备份自己当前的系统。
接下来就是连接linux和windows的工具vmtools,可以是虚拟机与主机共享主机中的文件夹
目录结构
然后是linux的目录结构,什么样的文件夹存放什么样的内容是规定好的
例如etc规定是存放配置文件、boot是启动时的配置、dev是设备管理器
linux会把所有的硬件映射成一个文件去管理,一定要把linux的树状目录记在心中
根目录是 /
一句经典的话:在linux世界,一切皆文件
远程登录linux需要Xshell,登录上之后若要上传下载文件需要Xftp
远程登录呢,在本地打开Xshell然后新建会话,输入ip,然后输入用户名和密码就可以远程登录了
上传文件呢,也需要新建会话,输入ip,同上
示意图:
centos查询ip地址命令:ifconfig
swap分区临时充当内存
今天就学到这, 明天接着学!
vi与vim
三种模式:
正常、插入、命令行
如何在插入模式保存并推出呢?先按esc,在输入:wq(表示写入并推出)
快捷键:
一般模式会有一些常用的快捷键,yy p dd G gg u等等
编辑模式和命令行模式回到一般模式都用esc
sync命令:将内存数据同步到此磁盘
用户管理
su切换至root用户
添加用户需要root权限,使用命令useradd 用户名
设定或修改用户名密码,如果在非root下修改只能修改自己的用户密码,而root可以修改指定用户的密码psaawd 用户名
,如果不指定用户名则默认修改正在登陆的用户名密码。pwd
显示当前你在哪个目录下
删除用户,但不删除home下的目录则用userdel 用户名
,删除用户,同时删除home下的目录userdel -r 用户名
查询用户信息:id 用户名
切换用户用su - 用户名
权限由高到低切换用户不需要输入密码,反之则需要
用户组就是将相同权限的用户放在一个组中,或者都在A组的用户都拥有权期A
新建组groupadd 组名
当添加一个用户不指定它的组名时,会默认用用户名当他的组名,单独成一个组
在组中新建用户useradd -g wudang zwj
(表示把张无忌用户添加到武当组中,-g的意思是group )
修改用户至其他组usemod -g emei zwj
(表示把张无忌修改到峨眉组中)
对shell的解释
小结:
添加用户:useradd zs
修改密码:passwd zs
删除用户:userdel zs
查询用户:id zs
切换用户:su - zs
新建组:groupadd wudang
在组中新建用户:useradd -g wudang zwj
修改用户所在组:usermod -g wudang clx
运行状态分为七种,但常用的是3和5
切换至状态3init 3
查看当前的运行环境systemctl get-default
设置运行环境system set-default multi-user.target
(设置为多用户有网络服务)systemctl set-default graphical.target
(设置为图形化界面)
忘记root密码怎么办?
重新启动系统,在选择操作系统时按e
然后找到linux16,将光标移至最后一行再打一个空格
在后面输入init=/bin/sh
然后按ctrl+X进入单用户模式,接着输入mount -o remount,rw /
,注意单词有空格,完成后回车,然后输入passwd
,回车,输入密码,再次确认密码。然后输入touch / .autorelabel
(注:touch和/后面有一个空格)然后回车,接着输入exec /sbin/init
然后等待一段时间之后系统重启,新密码生效(耐心等待)
man命令可以查询命令的帮助信息例如man ls
就是查询ls命令的帮助信息,两个常用的ls -a
和ls -l
,分别是展示所有文件(包括隐藏文件,在linux下所有隐藏文件都是以.开头的)和以单列的方式展示文件,这两个可以一起用ls -la
表示以单列的方式展示所有文件,因此选项跟选项是可以一起用的
今天就学到这,明天继续
目录管理
cd ..
为回到上一级目录cd ~
为回到自己的家目录
使用top
打开linux 的任务管理器
创建目录:mkdir
创建多级目录(也就是目录中的目录):mkdir -p /home/animal/dog
删除目录:rmdir 目录名
(必须是空目录)
删除非空目录:rm -rf 目录名
touch
:创建空文件
复制文件夹或者文件命令:cp [选项] source dest(把文件从源目录复制到目的目录)-r
表示递归复制整个文件文件夹
cp -r /home/animal.hello.txt /home/bbb
例如:\cp -r /home/animal.hello.txt /home/bbb
在linux中,sshd是一个客户端软件,是可以通过网络在主机中开启shell的服务;sshd服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件,sshd使用加密传输,比使用明文传输的telnet传输文件要安全很多。
进程
可以使用ps -aux
来整合上面的三条命令
需求:找到sshd进程的父进程?
使用ps -ef | grep sshd
找到sshd进程,并且也就知道了它的PPID(也就是父进程),然后根据PID再找到父进程
终止进程关键字kill和killall
通过PID杀死进程,或通过进程名杀死进程
参数-9表示强迫进程立即停止