VirtualBox共享文件夹配置

为了方便主机与虚拟机之间进行交互,可以在两者之间创建一个共享文件夹实现VirtualBox与Windows的文件共享
VirtualBox的共享文件夹最好通过手动挂载才更加稳定,将Windows下的文件挂载到/mnt下,此处在Windows下有一个文件夹叫PublicFileSystem,Linux在/mnt下创建一个目录share:

cd /mnt
sudo mkdir share 需要权限

在“设置”内的共享文件夹选择PublicFileSystem这个文件,注意要勾选“固定分配”,现在回到Linux开始挂载:

sudo mount -t vboxsf PublicFileSystem /mnt/share

这样,Linux下的share目录内容将和Windows下的PublicFileSystem保持同步

常用命令补充

cd ~ 移动至当前用户的主目录,例如:/home/ubuntu
rm -rf code 删除目录

Tab键可以自动补全,例如,cat exam+Tab,将会补全得到cat examples.desktop;

PATH环境变量与常用快捷键

为何Tab就能自动补全?这就涉及到环境变量了

echo $PATH 查看环境变量


PATH环境变量是一组用冒号":"隔开的路径,主要是常用可执行文件的安装目录;
现在拷贝程序ls到~/bin下,注意这个bin并不是根目录下的bin(用于存放可执行程序):

cd ~/bin
whereis ls 查看ls程序的位置,发现位于/bin/ls
cp /bin/ls lscp  拷贝ls到~/bin,重命名为lscp

由于PATH中不包含/home/ubuntu/bin,Tab不能自动补全lscp(因为不能搜索到);如果临时添加环境变量可在当前会话找到lscp:

export PATH=$PATH:/home/ubuntu/bin

如果需要永久保存,需要编辑~/.bashrc:

gedit ~/.bashrc

在末尾添加变量:export PATH=$PATH:/home/ubuntu/bin,原因在与每次打开Shell,都会执行~/.bashrc,从而自动将/home/ubuntu/bin加入PATH;
Tab用于命令补全,whereis用于查找命令所在目录,两者都基于PATH,如果PATH中没有变量,就不能找到对应的程序

用户与用户组

windows下的用户分类较单一,就分管理员与非管理员,Linux的用户分类更细,比Win更安全,另外一提,Linux是一个多用户多任务的分时系统;


用户分三类:
1.root用户:具有最高权限,可操作系统文件和命令;
2.虚拟用户:系统本身需要,在运行系统中起作用;
3.普通用户:可登录,权限有限


我是普通用户,root用户不以$开头,是#开头,sudo是指借用root权限;
添加用户时,系统会:
1.在/etc/passwd中添加一行用户记录
2.在/home下创建新用户目录

sudo useradd -d /home/baijingyi -m baijingyi 添加用户
sudo passwd baijingyi 为用户设置口令
sudo userdel -r baijingyi 强制删除用户
whoami 查看当前是哪个用户
groups 查看当前用户所在的组,比如ubuntu属于adm,sudo等用户组

用户组便于对用户集中管理,组的更新是对/etc/group更新


/etc/passwd:管理用户
/etc/group:管理用户组
/etc/shadow:管理口令


/etc/passwd中的记录行格式为:
用户名:口令:用户标识号:组标识号:注释:主目录:登录Shell;用冒号":"隔开,例如:

ubuntu:x:1000的x代表口令加密,要通过权限查看/etc/shadow才能获知口令

文件属性与权限操作

ls -l列出文件就能看到文件的属性和权限信息:

sudo chown [-R] root file 文件用户修改为root
sudo chgrp [-R] root file 文件用户组修改为root

中括号"[…]"代表这是可选参数,-R是递归修改的意思,即将目录下的所有文件也都一同修改,修改完用户又要修改用户组写法麻烦,可以用简写:

sudo chown User.Group file 用户与用户组一同修改

Linux权限rwx分别代表读,写,执行:

d rwx rwx rwx 分别代表User,Group,Other对该文件都有rwx权限

第一个字符指文件类型,d是目录;-是普通文件;c是字符设备文件;b是块设备文件;s是套接字文件;p是管道(先进先出);
修改权限举例:

sudo chmod u-x file User减少执行权限

另外,rwx可以用8进制数表示:—记为0,–x记为1,… ,rwx记为7
则权限修改简写为:

sudo chmod 777 file

find命令

find借助正则表达式用于在一个目录中(包含子目录)搜索文件,grep通常会用正则表达式在文本中搜索行(通常,这两个命令使用正则表达式也都是很简单的一类匹配)


首先了解正则表达元字符,可理解为通配符:

^锚定开头:^grep,以grep开头
$锚定结尾:grep$,以grep结尾
.任意字符:gr.p,r和p中间的字符可以是任意字符
*一个或多个任意字符
[]匹配指定范围字符:[Gg]只匹配G和g,[A-Z]匹配A到Z任意字符
[^]匹配不包含的范围:[^A-FH-Z],匹配不包含A到F,H到Z的字符

find举例:

find ~ -name "*.txt" -print  #在用户目录下查找".txt"结尾的文件
find . -name "[A-Z]*" -print  #在当前目录下查找以大写字母开头的文件
find /etc -name "host*" -print  #在/etc下查找以host开头的文件

字符串可以用"…"或者’…'表示;
find的格式为:

find path -option [-print] [-exec ls -l {} \;]

很明显,path决定了查找目录的位置;-option分别有:
1.-name:根据文件名搜索,比如-name "host*"
2.-perm:根据权限搜索-perm 755
3.-type:根据文件类型搜索

-type d 是目录
! -type d 搜索非目录
-type l 搜索链接

4.-size:根据文件大小

-size +100c 查找大小超过100c的文件
-size 100c  查找大小为100c的文件
-size +10  查找大小超过10块(1块=512字节)

关于[-exec ls -l {} \;],这也是一个可选参数,-exec ls -l 代表借助/bin下的ls进行执行,{…}保存结果文件,;用于传递文件,一次传一个文件;
管道:管道的作用确保前面命令的输出结果变成下一个命令的输入,管道写法为:|,有些命令对换行不支持,只能按空格自动分隔,所以借助管道与xargs用于将结果转为空格分隔;
例如:| xargs ls -l,将上一步的结果用ls列出具体信息

grep命令

grep用于从文件里进行文本搜索

grep 'test' d* 搜索以d开头的文件中含test的行
grep 'test' d* -r 代表递归搜索
grep 'test' aa bb cc 在aa,bb,cc文件中搜索含test的行grep -v '#' /etc/host.conf 输出不含'#'的行
grep '#' /etc/host.conf 输出含'#'的行ls -l | grep 'a'  解释:ls -l的输出相当于一个临时文件,grep搜索临时文件中含a的行

压缩解压

tar命令用于打包,压缩,解压

tar [-cxtzjvfpPN]

-c:建立一个压缩文件
-x:解开一个压缩文件
-t:查看tarfile里的文件
-z:是否使用gzip压缩
-v:压缩过程打印
-f:后接文档名

#压缩
tar -zcvf Code.tar.gz code #Code.tar是打包文件,Code.tar.gz是压缩文件#解压
tar -xvf Code.tar.gz

ssh和sshd

ssh用于远程控制主机,首先查看有无ssh相关进程:

sudo ps -e | grep ssh


如果不安装ssh-server,只有客户端ssh-agent,安装openssh-server后,才会运行sshd,此时将可在其他主机(Win或Linux或Mac)用ssh客户端登录到Linux:

User>ssh user_name@ip_address #登录Linux
User>exit #退出登录

第二课.进一步熟悉Linux相关推荐

  1. Linux 探索之旅 | 第一部分第二课:下载 Linux,免费的噢

    -- 作者 谢恩铭 转载请注明出处 内容简介 第一部分第二课:下载Linux,免费的噢 第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课 Linux探索之旅 | 开 ...

  2. 熟悉Linux开发环境

    实验一 熟悉Linux开发环境 一.实验目的 1.熟悉Linux开发环境,学习Linux开发环境的配置和使用,掌握Minicom串口终端的使用. 2.学习使用Vi编辑器设计C程序,学习Makefile ...

  3. Linux 探索之旅 | 第四部分第二课:SSH 连接,安全快捷

    -- 作者 谢恩铭 转载请注明出处 内容简介 第四部分第二课:SSH连接,安全快捷 第四部分第三课预告:文件传输,潇洒同步 SSH连接,安全快捷 上一课是 Linux探索之旅 | 第四部分第一课:压缩 ...

  4. 操作系统课设之Linux 进程间通信

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  5. 操作系统课设之Linux 进程管理

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  6. 《迅雷链精品课》第二课:区块链核心技术框架

    上一节课我们明白了什么是区块链,了解了区块链的关键特性和技术等内容,这节课我们将深入了解区块链的技术架构,系统学习区块链平台的6个层次:数据层.网络层.共识层.合约层.应用层.接口层,另外通常还有客户 ...

  7. 第二课,绘制几何图形

    原帖地址:http://www.programfan.com/club/showbbs.asp?id=184525 本次课程所要讲的是绘制简单的几何图形,在实际绘制之前,让我们先熟悉一些概念. 一.点 ...

  8. 【C++探索之旅】第一部分第二课:C++编程的必要软件

    内容简介 1.第一部分第二课:C++编程的必要软件 2.第一部分第三课预告:第一个C++程序 C++编程的必要软件 经过上一课之后,大家是不是摩拳擦掌,准备大干一场了呢. 这一课我们来做一些C++开发 ...

  9. 深度卷积网络:第二课

    深度卷积网络:第二课 基本概念 对数据集合的切分 一个训练的过程: 学习的种类 有监督学习:回归.分类.标签.排序.Seq2Seq 无监督学习:聚类.降维.生成模型.GAN.自编码.推荐 半监督学习 ...

最新文章

  1. 鸿蒙系统的可能性,华为P40将搭载鸿蒙操作系统 可能性大么
  2. varchar保存带格式的数据_软件测试必备之数据库知识(一)
  3. 一个免费的页面素材网站
  4. 02 - Unit06:弹出对话框
  5. 【奇葩面试题】因为太难而被禁用的17道Google面试题
  6. Windows 下各种Python库的下载与安装
  7. 不值钱的软件人才[转]
  8. 怎么测试服务器的性能,如何测试服务器性能
  9. 帮帮忙—ssm框架中,简单自定义标签SimpleTagSupport如何注入spirng中的bean
  10. 多线程(一):初识多线程
  11. c# 委托和委托事件
  12. 壁面函数matlab,Y+的查看及FLUENT壁面函数的选择
  13. ZYJ7型转辙设备安装调试工法
  14. 远程服务器连接计算机和用户名填写,windos系统服务器:添加远程连接用户名方法...
  15. rust怎么发送求救信号_海上遇险怎么发求救信号?
  16. wheel安装+使用wheel安装第三方库+临时换源安装和永久换源安装
  17. UI自动化测试(一)
  18. 数字电路基础04(查找表LUT)
  19. Oracle具体表赋权给某用户
  20. halcon 连接相机采集图像

热门文章

  1. 如何leangoo看板工具做可视化工作流
  2. 20 亿个数字在 4G 内存中如何去重排序:快来试一试 BitMap
  3. 做管理必须避开的六个坑
  4. 简单明了!OLTP场景下的数据分布式设计原则
  5. DNS自述:我是如何为域名找到家的
  6. 有人说:穷学IT富搞金融!程序员究竟是不是一帮苦孩子在做?
  7. 了解Netflix-zuul网关服务
  8. 阿里、拼多多P8面试分享!
  9. Redis 深度历险:核心原理与应用实践
  10. 敏捷开发 | 张三与需求管理