deepin linux学习笔记
前言
linux给一般用户的感觉就是黑客使用的系统。但是国产deepin在家用市场作得还不错,我现在使用下来,写博客,看B站,查找资料貌似没有什么障碍。这个deepin创新的地方是自带了QQ和微信,解决了最大的痛点。
在我使用过程中,发现chrome浏览器性能确实比较优秀,可惜被墙的厉害,很多组件功能都不能正常使用,而且我又不懂怎么去解决这个问题。因此,我觉得firefox这个浏览器还是本地化比较好的。
我的主观感受是,linux娱乐性比较差,主要原因是显卡驱动不太友好,而用deepin后,可以方便的切换到闭源的nv显卡驱动,感觉效率上和windows没有什么不同了。linux最为我赞赏的地方是网络性能非常好。比如windows下载一样东西,经常会慢慢就卡住不动了,而linux就算卡住了,也能恢复速度。这种感受就和用ie下载对比用迅雷下载的感受,实在是非常爽快的改进。
我不知道广大网友都用什么应用居多,但是deepin有我想要的应用了。所以我花时间把使用deepin的学习经历给记录下来,方便给其他还没有接触到的朋友参考。
我现在使用的是搜狗拼音输入法,输入效率非常高,不必windows下差,而且暂时没发现弹窗,因此可以说体验更好。我用的编辑器是vs code。这个编辑器并非说一定要开发软件才能使用。它打开速度非常快,性能让人惊喜,而且编辑器功能非常强大,可以说的上是一款神器级别的产品。就算你不是用来开发,用来写博客也是可以的。不过用vs code 写博客,最好是学习一下markdown语言,这是一种纯文本的带排版语法的语言,语法非常简单。只要在vs code里面写好了markdown文本,打开博客园后台的markdown编辑器里面粘贴一下,就能生成一篇格式排版好的博文。
linux常用命令
linux是一个命令行为核心的系统,很多时候不可避免要使用命令。因此,不要逃避学习命令。命令行和视窗各有各的好处,比如vs code等现代编辑器,就带有命令行工具,说明命令行有它存在的价值。
linux命令参数一般是-缩写,--全名,-参数1参数2参数3,这种方式定义的。linux一般是大小写区分的。用独立的--参数可以转义-的语义。
要想玩转linux,首先就学习一套常用的命令防身。
ls 显示文件夹内容
ls -a #列出所有文件
ls -S #按文件大小排序
ls -h #以非反人类方式显示大小
ls -l #详细
ls t* #列出t开头的文件
cd 切换当前目录
cd / #进入根目录
cd ~ #进入/home/username目录
cd - #进入上一个目录
pwd 查看当前工作目录
print name of current/working directory
mkdir 新建文件夹
mkdir -p x1/x2 #根据路径创建相关文件夹
mkdir -m=rx x3 #创建不可写文件夹
rm 删除文件或文件夹
remove
rm -i x1 #交互式删除
rm -r x1 #循环删除
mv 移动文件
move
mv a.x b.x #改名
cp 复制文件
copy
cp -a a.x b.x #复制时间相同
cp -s a.x s.x #生成链接
cat 显示文件内容
concatenate files and print on the standard output
cat a.x #显示文件内容
cat > a.x #从命令行录入文件内容
cat a.x b.x > c.x #合并文件
more 分页显示文件内容
这个命令带有交互菜单,空格键下一页,b键上一页,q键退出,=键显示当前行号,h显示菜单命令帮助等
more +5 a.x #从第五行开始显示
more -2 a.x #一次显示2行,按空格继续
less 更强大的more
命令菜单包括:/搜索字符串,?向前搜索字符串,n重复上一次搜索,N反向重复上一次搜索,q退出
less -i a.x #忽略搜索大小写
head 输出文件头部内容
head a.x #输出前10行
head -c 5 a.x #输出前5个字节
head -n -5 a.x #只是不输出尾部五行
tail 输出文件尾部内容
tail -f a.x #循环读取,常用于查看日志文件
which 查找程序,显示文件路径
whereis 查找文件
基于系统内置数据库查找指定位置文件。
whereis -b ls #查找程序
whereis -m ls #查找帮助文件
whereis -s ls #查找源代码
locate 以数据库信息来查找文件
find 在磁盘中查找文件
可以用正则匹配查找文件
find -name '*.x' #在当前目录查找.x结尾的文件
find /bin -name '*s' #在/bin目录查找s结尾的文件
chmod 设置文件权限
通过ls -l 可以查看文件的权限,如显示-rw-r--r-- 代表:第一个字符 - 表示普通文件,d表示目录,l代表链接,b代表块设备,c代表字符设备,s代表套接字,p代表管道;其余三个字符为一组,表示文件所有者的权限,所有者组的权限,组外用户的权限;r代表可读,w代表可写(不包括删除),x代表可执行;如果是目录,r代表可列,w代表可增删,x代表可设为工作目录。
chmod u=rw,g=r,o=x a.x #u是所有者,g是组员,o是组外人员
tar 打包
在linux中,打包和压缩是分开的两个过程。而且linux经常是通过打包来分发文件,你去下载的都是打包好的文件,所以这类命令相当有用。这个命令没有什么交互式,要加倍小心数据安全。
tar -cf a.tar a.x #新建a.tar文件,把a.x打包进去
tar -rf a.tar a.x #添加a.x到现有的a.tar里面
tar -uf a.tar a.x #更新a.x到现有的a.tar里面
tar -xf a.tar --directory=x1 #解包到x1目录
tar -Af a.tar b.tar #把b.tar的内容合并到a.tar
tar -tf a.tar #列出包内容
tar -caf a.tar.gz a.x #a参数根据文件后缀来选择压缩程序,在打包后进行压缩。比如.gz选择gzip压缩程序,.bz2 选择bzip2,.xz 选择xz解压程序。
tar -vtaf a.tar # v参数显示更多信息
chown 设置文件所有者和用户组
用ls -l 可以查看到文件的拥有者是谁,而拥有的用户组是哪个。如显示-rw-r----x 1 htqxw htqxw 7304 1月 29 11:02 a.x,第一个htqxw是拥有者的用户名,第二个是组名。因为文件的读写,执行操作是和拥有者和用户组密切相关的,所以chown常常要配合权限chomd命令来使用。
chown -c root:moon a.x #将a.x的拥有者改为root,组改为moon
df 显示文件系统概况
df -h #以非反人类方式显示文件系统大小
du 查看使用空间
du -hs x1 #s参数统计x1目录占用多少空间,h参数以非反人类方式显示大小
du -h --max-depth=1 x1 #指定显示的下级目录深度,将显示当前目录,和当前目录的直接子目录占用空间的情况
ln 建立链接
和windows的快捷方式有点类似。但是linux对链接的支持更加广泛和强大。linux中分软链接和硬链接:软连接可以跨文件系统,可以指向目录,甚至指向错误的地址;硬链接必须要在同一个文件系统内,相等于原文件的一个备份,但不实际占用空间。
ln -s a.x a.link #a.link是a.x的软链接
date 显示或设置系统时间
cal 日历
grep 文本搜索
linux自带的文本搜索匹配工具,有点过于强大。参数太多,这里简单摘要几项。查询字符串规则如下:^行首;$行尾;.一个非换行字符;*任意次上一个匹配;.*任意字符;[]内任意一个;[^]内任意一个除外匹配;。
扩展正则规则:| 或;{1,3} 一到三次重复;+ 一次或以上;? 0次或1次;() 整体作为一个规则。
转义字符:\
建议开启--color=auto参数来显色匹配的文本。用-E开启扩展正则表达式。
grep -iR right x1/ #R参数会递归查找文件夹x1里面的文件,i参数忽略大小写;right是查找的字符串,这个字符串支持复杂的查询匹配模式
grep -liR ^[0-9].*[a-z] x1/ --color=auto
wc 统计文件字节数、字数、行数
ps 查看进程状态
top 显示进程相关信息
kill 终止进程
free 查看内存信息