您现在的位置是:首页>Linux教程

作为小白如何优雅地使用Linux操作系统

大鱼2018/10/15Linux教程 浏览 483

简介[Meting][Music server="netease" id="1294910819" type="song"/][/Meting]Linux的是一套免费使用和自由传播的类Unix的操作系统,是目前运用领域最广泛,使用人数最多的操作系统。该操作系统由林纳斯·托瓦兹于1991年发布。开源...

timg (1).jpg

[Meting]
[Music server="netease" id="1294910819" type="song"/]
[/Meting]

Linux的是一套免费使用和自由传播的类Unix的操作系统,是目前运用领域最广泛,使用人数最多的操作系统。该操作系统由林纳斯·托瓦兹于1991年发布。开源和自由软件是Linux的最大的特点.Linux广泛地应用在服务器和其他大型平台上,同时也广泛应用在嵌入式系统上,比如目前在移动设备上应用最为广泛的的Android也是创建在Linux的内核之上的。

关于Linux的的一些具体内容介绍,发展历史可以点击以下链接。

百度百科

维基百科(需要翻墙)


发行版本选择:

下面简单介绍几种Linux发行版,点击相应的标题可直接前往官网进行进一步的了解。

Deepin

Deepin是国内深度团队制作的基于Debain的Linux发行版。最大的特色就是本地化特别好,自带付费版的CrossOver,能够较为完美地运行QQ、TIM、微信Windows软件。另外,Deepin自带桌面DDE较为美观,很多地方都有OSX的影子。因为是基于Debian,Deepin的软件源很丰富。这也是我目前正在使用的Linux系统。

Ubuntu/Mint

提起Linux,很多人最先想到的可能就是Ubuntu。与其他大多数“小作坊”搞出来的发行版不同,传言Ubuntu有南非土豪的资金支持,因此Ubuntu应用非常广泛。Ubuntu将会于2018年4月左右发布最新的长期支持版Ubuntu 18.04。而MInt是基于Ubuntu的发行版,以其出色的稳定性长期占据Distrowatch排行版第一的位置。

Manjaro

基于大魔王Arch的发行版。突出的特点就是能够享受到无比强大的AUR(Arch Linux社区用户软件仓库),并且不用忍受对新手极不友好的Arch安装过程。目前Manjaro已经稳居Distrowatch排行榜第二的位置。

Centos/Fedora

很多学校开设的Linux课都是以Centos为例进行介绍的。Centos和Fedora都是基于红帽Linux操作系统的发行版,具体的信息可以前往其官网进行查看。

Linux发行版千千万,总有一款你会喜欢,点我前往Distrowatch官网,了解更多的Linux发行版的信息。


安装

在选择好发行版后前往官方进行下载,你会得到一个拓展名为ISO的文件。接下来你需要准备一个最少4G的U盘并做好其中文件的备份。然后参照以下的教程进行双系统或者双系统安装。

Windows10与Ubuntu16.04双系统安装

VMware Ubuntu安装详细过程

因为不同的发行版、不同的硬件、不同的引导方式会使得安装过程有很大的变化,在这里不再赘述。

命令行入门

Linux最大的方便之处之一在于强大而又便捷的命令行。没有命令行的基本知识就无法使用Linux。

下面介绍几种常用的命令行:

date

显示系统时间

cal

打印本月的日历,可以通过cal 2016来显示2016年全年的日历,也可以通过cal 1 2018来查看2018年1月的日历

pwd

查看目前所处的文件目录

cd

进行目录跳转,形式为cd /usr/share,如果使用的是cd后面没有的话就是跳转至根目录,cd ..退回至上一文件夹目录,cd ~为跳转至用户主目录

ls

展示当前目录的文件和文件夹,ls -l展示详细信息,类似于Windows的dir命令

clear

终端清屏

mkdir

在当前目录下创建文件夹,如mkdir a为创建名为a的文件夹

rmdir

删除文件夹,rmdir a删除名为a的文件夹

cp

复制文件,cp a.c b.c复制a.c文件并将新文件命名为b.c

cat

展示文件内容,如cat a.sh

diff

比较文件的内容,如diff a.txt b.txt如果没有任何结果则说明两文件是一样的,否则会显示不同之处

head

查看文件头(前面几行的内容),如head a.sh -n 5显示a.sh前5行

tail

查看文件尾,tail a.sh -n 3显示后三行

wc

文件单词计数。wc a.sh显示的三个数值分别是行数、单词数和字符数

rm

删除文件。rm a.c删除a.c文件

mv

移动文件或者重命名。mv a.c b.c把a.c文件重命名为b.c,mov 学习资料.avi /video把文件移动至目标文件夹

less

允许上下滑动的文件查看命令。用法与cat相同,按q键退出

chmod

Linux的权限分为三段,第一段为“拥有者u”,第二段为”同一用户组g“,第三段为”其他人o“,每个段都有r,w,x三种权限,r表示可读,w表示可写,x表示可运行,如-rw-r--r--。

chmod为修改读写权限。

chmod u -r a.txt表示减去拥有者的读权限

chmod g +w a.txt表示为同一用户组添加写权限

chmod go -r a.txt表示使a.txt仅对拥有者可读

chmod也可以通过二进制数进行操作,如100表示只读,再将其转换为十进制数,为4即可

如chmod 444 a.txt表示对ugo均为只读

grep

文本查找命令。如grep Hello a.txt为在a.txt中查找Hello

grep en a.txt表示在a.txt中查找有en字母的所有内容

在grep和目标文件之间可以用正则表达式

grep命令可以搭配正则表达式和wc命令,如grep [A-Za-z]ill a.txt | wc表示用wc统计a.txt中*ill中的字符串

sudo

管理员命令。如Ubuntu进行系统更新的命令sudo apt-get upgrade,执行后需要输入管理员密码。 与Linux根目录下与系统有关的文件的操作都需要加上sudo

zip

对文件进行压缩,如

cd /home/Desktop/CProgram #转移至目标路径
zip CProgram.zip * #将目标路径下所有的文件添加至CProgram.zip中
zip home.zip -r home/* #将home目录下所有的文件以及子文件夹进行压缩
unzip

解压文件,如unzip home.zip即可解压

tar

压缩和解压拓展名为.tar.gz格式的压缩文件

压缩文件格式为tar -zcvf home.tar.gz home/

解压文件的格式为tar -zxvf home.tar.gz

其中参数的意义如下

-z 表示使用gzip算法进行压缩

-c 表示创建压缩目标

-v 表示显示压缩过程

-f 表示重命名

-x 表示解压

注:以上四项的顺序不固定

wget

下载命令,格式为wget URL,也可以对下载的文件进行重命名,格式为wget URL -O 文件名

Linux Shell Script编程
重定向符号>,<

如ls > a.txt表示把ls的输出结果保存至a.txt文件中

简单的编写脚本的例子

比如新建test.sh,在其中写入

ls -l > a.txt
cal 1 2018
echo "Hello, World!"
保存后,在终端输入sh test.sh即可运行。


Linux Shell编程

1.输出命令echo,如echo "Hello"

2.定义变量方法:a=10(等于号两侧不能有空格),输出变量方式为echo $a

注:变量赋值不能加$,而输出、运算等需要加$

3.表达式求值指令expr,如c=a+b的实现过程

a=10
b=20
c=expr $a + $b
echo $c
注:运算符两侧必须添加空格;而因为*在正则表达式中有0或1个的意思,因此在shell里面不能直接表示乘,需要写为*,除此之外括号也写为()

4.条件判断语句

格式为

a=10
b=20
if[$a -gt $b]
then

echo $a

else

echo $b

fi #条件判断以fi结尾
注:if条件判断为中括号而不是小括号;大小比较时不能直接用>或者<等,而是需要以下形式代替

大于 > -gt (greater than)

小于 < -lt (less than)

等于 = -eq (equal)

不等于 ≠ -ne (not equal) 大于等于 >= -ge (greater than or equal to)

小于等于 <= -le (less than or equal to)

5.循环语句

早期的for格式为

for x in 1,2,3,4,5,6,7,8,9,10
do

echo $x #注意此处的x需要加$,而第一行的x为赋值则不需要加

done
运行结果为依次输出1,2,3,4,5,6,7,8,9,10

white循环格式为

x=1
while[$x -le 10]
do

echo $x
x=`expr $x + 1`

done
字符串操作

1.字符串的初始化

a="Hello"
b="World"
echo $a $b
2.字符串的输入

echo "Please enter a:"
read a

echo "Please enter b:"
read b

c=expr $a + $b
echo $a + $b = $c
如果输入的分别是2和3的话,则最终输出的表达式为2+3=5
3.字符串的比较

password="helloworld"

echo"Please enter password:"
read userPassword

if[password = userPassword] #注意字符串的比较方式为=,两侧有两个空格
then

echo "密码正确"

else

echo "密码错误"

fi
4.字符串的拼接

str1="hello"
str2="world"

str3="$str1 $str2"
echo $str3
5.判断是否为空字符串

str1="hello"

if[ -z $str1] #-z为判断是否为空字符串,如果是空字符窜则符合条件,而-n与-z完全相反
then

echo "空字符串"

else

echo "非空字符串"

fi
数组(需要使用bash)

1.数组的定义

array=(1,2,3,4)
echo $array #只能输出第0个元素
echo ${array[1]} #输出第1个元素

for i in ${array[@]} #for循环打印数组
do

echo $i

done

sum=0
for i in ${array[@]} #for循环求数组元素之和
do

sum=`expr $sum + $i`

done

echo $sum

max=${array[0]}
for i in ${array[@]}
do

if[ $i -gt $max ]
then 
    max=$i
fi

done

echo $max
全局变量Global Variable

USER

echo $USER显示当前用户的用户名

HOME

echo $HOME显示当前用户的主目录

PATH

echo $PATH显示环境变量,添加目录至PATH的方式为PATH=$PATH:/home/dianshi/test使得该路径的可执行文件在任何路径下都可以通过文件名运行

评论

发表新评论