一、安装虚拟机
1.下载问题:当自己在虚拟机上下载ubuntu时,总是下载好长时间,而且最后下载失败,这让我很苦恼。
解决方案:求助同学后,同学给了我一个中文版官网的网址http://cn.ubuntu.com/desktop/,这才如愿下载。 安装好的界面如图所示
2.安装虚拟机增强功能时出现如下问题:
解决方案:于是我查询百度,终于在一篇博客中找到了解决方案:
进入系统在侧边找到如图加载的虚拟光驱,右击,点击弹出,然后就可正常安装增强功能了
二、Linux学习笔记
我可以说几乎是一个电脑小白,我传统的学习方式还是好记性不如烂笔头,我还是习惯看到的重点的用笔记下来,当然,学习Linux还是要先操作,然后再总结,我也很想把我总结的重点分享给大家:
1.Linux系统简介和基本概念及操作
- 终端模拟器:为了实现在一个窗口中完成用户的输入和输出。本质是Linux上的dev/tty设备。打开终端的方式:[ctrl]+[alt]+T
- Shell(壳):在图形界面中带来实际体验的差异,是提供给使用者使用界面的软件<命令解析器>,可以接受用户输入命令的程序。
- Ubuntu终端默认使用的是bash,桌面环境是GMOME或Unity
- 命令行的操作:
输入:打开终端,按键盘输入
输出:返回想要的结果(没有结果就是最好的结果)
- 重要的快捷键:
[Tab] |
命令补全 |
[ctrl+c] |
强行终止当前程序,但并不会使终端退出 |
[ctrl+d] |
键盘输入结束或退出终端 |
[ctrl+s] |
暂停当前程序,暂停后按任意键恢复运行 |
- 通配符:对字符进行模糊匹配,查找文件夹时,使用它代替一个人或多个真正字符;不知道真正字符或者懒的输入完整名字时,使用通配符代替一个或多个真正字符。
- 常用的通配符:
* |
匹配0或多个字符 |
? |
匹配任意一个字符 |
[list] |
匹配list中的任意单一字符 |
[!list] |
匹配除list中的任意单一字符以外的字符 |
[c1-c2] |
匹配c1-c3中的任意单一字符,[0-9],[a-z] |
{string1,string2,···] |
匹配string1或string2,其一字符串 |
{c1···c2} |
匹配ci-c2中全部字符,如{1···10} |
- 如何在命令行中获取帮助
使用man命令
查找方法: man l 查找的内容
2.用户及文件权限管理
查看用户 |
who am i |
创建用户 |
sudo adduser <用户名> |
查看自己属于哪些用户组 |
groups <用户名>或cat /etc/group |
切换登录用户 |
su -l <用户名> |
退出当前用户 |
exit 或 ctrl+D |
删除用户 |
sudo deluser <用户名> --remove-<目录> |
将其他用户添加到sudo组 |
sudo usermod -G sudo <用户名> |
Linux文件权限
- 最高权限:root权限,可以通过sudo命令获得root权限
- 读权限:可以使用cat <文件名> 来读取文件内容
- 写权限:可以编辑和修改某个文件
- 所有者权限:所在的用户组中的所有用户对于该文件的权限
以较长的格式输出当前目录下的文件(查看文件权限) |
ls -l |
显示除了“.”,“..”之外的所有包含隐藏文件 |
ls -A |
查看一个目录的完整属性 |
ls -dl <目录名> |
新建一个...文件 |
touch ... |
显示...文件信息 |
ll |
修改文件所有者为shiyanlou |
sudo chown shiyanlou... |
修改权限 |
chmod 700(顺序对应rwx)...或chmod go-rw (+/-)... |
3.Linux目录结构及文件基本操作
- 目录形态
- 路径
绝对路径 |
以根“/”目录为起点的完整路径,以所要到的目录为终点 /user/local/bin |
相对路径 |
以当前目录.为起点,以所要到的目录为终点 user/local/bin |
touch <文件名> |
新建空白文件,不加任何参数下,只指定一个文件名,创建一个指定文件名的空白文件 |
mkdir <目录名> |
可以创建一个空目录 |
mkdir -p <目录名> |
创建父目录 |
cp <文件名> <目录名> |
将文件复制到该目录下 |
cp -r或-R <目录名> |
复制目录 |
rm <文件名> |
删除文件 |
rm -r或-R <目录名> |
删除目录 |
rm -f <文件名> |
强制删除 |
mv <文件名> <目录> |
移动文件到目录下 |
mv <文件名1> <文件名2> |
修改文件名 |
cat <文件名> |
打印文件内容到终端(正序显示)(加-n显示行号) |
tac <文件名> |
打印文件内容到终端(倒序显示)(加-n显示行号) |
nl <文件名> |
添加行号并打印 |
more和less |
分页查看文件 |
tail -n <数字> <文件> |
查看文件的尾几行 |
head -n <数字> <文件> |
查看文件的头几行 |
4.环境变量与文件查找
declare temp |
创建一个名为temp的变量 |
echo $temp |
读取temp的值 |
set |
打印所有环境变量 |
env |
打印与当前用户相关的环境变量 |
export |
显示从shell中导出或环境变量的变量 |
zsh |
在实验楼环境中创建子shell |
gedit hello_shell.sh |
创建一个脚本文件 |
chmod 755 hello_shell.sh |
为文件添加可执行的权限 |
.hello_shell.sh |
运行脚本文件 |
gedit hello world.c |
创建C语言程序 |
gcc -o hello world hello world.c |
生成可执行文本 |
${变量名#匹配字串} |
从头向后开始匹配,删除符合匹配字串的最短数据 |
${变量名##匹配字串} |
从头向后开始匹配,删除符合匹配字串的最长数据 |
${变量名%匹配字串} |
从尾向前开始匹配,删除符合匹配字串的最短数据 |
${变量名%%匹配字串} |
从尾向前开始匹配,删除符合匹配字串的最长数据 |
${变量名/旧的字串/新的字串} |
将符合旧字串的第一个字串替换为新的字串 |
${变量名//旧的字串/新的字串} |
将符合旧字串的全部字串替换为新的字串 |
--选自实验楼
unset temp |
删除环境变量temp |
source .zshrc |
快速使.zshrc脚本文件生效 |
whereis who |
搜索文件who,只能搜索二进制文件,源代码文件和man帮助文档 |
locate |
搜索某路径下的所有匹配文件 |
which |
查找是否安装了某个指定文件 |
fine |
也是查找文件,命令更强大 |
sudo find /etc/ -name interfaces |
在/etc/目录下找一个名为interfaces文件 |
find ~ -mtime 0 |
列出home目录中当天有改动的文件 |
find ~ -newer /home/shiyanlou/code |
列出用户家目录下比code新的文件 |
5.文件打包与解压缩
zip -r -q -o shiyanlou.zip /home/shiyanlou |
将目录/home/shiyanlou打包成一个文件 |
du shiyanlou.zip |
具体查看文件shiyanlou.zip的大小 |
zip -r -9(或-1) -q -o shiyanlou.zip /home/shiyanlou |
将目录/home/shiyanlou打包成压缩级别为9(或1)的压缩文件 |
du -h -d 0 *.zip ~ |
查看文件的深度 |
zip -r -e -o shiyanlou.zip /home/shiyanlou |
创建加密压缩包(重点是-e参数的使用) |
unzip shiyanlou.zip |
将shiyanlou压缩文件解压到当前目录 |
unzip -q shiyanlou.zip -d ziptest |
将shiyanlou压缩文件解压到指定目录 |
unzip -l shiyanlou.zip |
查看shiyanlou.zip压缩包 |
rar a shiyanlou.rar . |
在.目录下创建压缩文件(a是参数) |
rar d shiyanlou.rar .zshrc |
从shiyanlou.rar压缩包中删除.zshrc |
unrar x shiyanlou.rar |
全路径解压 |
unrar e shiyanlou.rar tmp\ |
去掉路径解压 |
tar -cf shiyanlou.tar ~或tar -f shiyanlou.tar -c ~ |
创建一个tar包 |
tar ==-x==f shiyanlou.tar ==-c== tardir |
解包一个文件到指定目录 |
tar -tf shiyanlou.tar |
只查看不解包文件 |
tar -czf shiyanlou.tar.gz ~ |
使用gizp来压缩文件 |
tar -xzf shiyanlou.tar.gz |
解压文件 |
6.文件系统操作与磁盘管理
df |
查看磁盘的容量 |
du -h |
查看目录的容量,并以更加易读的方式呈现 |
du -a |
显示目录中所有文件的大小 |
du -s |
显示最后文件容量的综合 |
du -h -d 0 ~(只查看1级目录) ;du -h -d 1 ~(只查看2级) |
查看目录 |
dd of=test bs=10 count=1(或dd if=/dev/stdin of=test bs=10 count=1) |
用dd命令从标准输入输出到文件 |
dd if=/dev/stdin of=/dev/stdout bs=10 count=1 |
输出到标准输出 |
dd if=/dev/stdin of=test bs=10 count=1 conv=ucase |
将输出的英文字符转换为大写再写入文件 |
dd if=/dev/zero of=virtual.img bs=1M count=256 |
从/dev/zero设备创建一个容量为 256M 的空文件 |
sudo mkfs.ext4 virtual.img |
虚拟磁盘镜像格式化为ext4文件系统 |
sudo mount |
使用mount来查看已挂载的文件系统 |
mount -o loop -t virtual.img /mnt |
挂载虚拟磁盘镜像到/mnt目录 |
mount -o loop --ro virtual.img /mnt(或mount -o loop,ro virtual.img /mnt) |
以只读方式挂载 |
sudo unmount /mnt |
使用unmount命令卸载已挂载磁盘 sudo fdisk -l |
7.帮助命令
type <命令> |
查看命令是內建的还是外建的 |
help <內建命令> |
显示內建命令的简要帮助信息 |
<外部命令> --help |
显示外部命令的简要帮助信息 |
man <命令> |
显示帮助的命令信息 |
info <命令> |
显示帮助的命令信息(更详细) |
三、感想
寒假就要结束了,但是对于Linux的学习和探索并没有结束,以后还要多加练习,让“做中学”贯彻整个Java学习。