linux入门笔记

本篇主要总结记录在初学linux过程中常用的一些指令。包括文件(文件夹)的创建、删除、查找、复制、移动,以及常用软件的安装和卸载等。还包括一些个人总结的linux与windows系统的不同之处。我学习使用的系统是ubuntu18.04。这是我的第一篇博客,如果大家有意见建议,欢迎留言反馈给我。

精简的总结(如果还是不知道如何使用再往下看):

1)cd 切换路径

2)touch 创建文件 mkdir 创建文件夹

3)tar 压缩/解压 unzip 解压

4)mv 移动文件或文件夹

5)cp 复制文件或文件夹

6)grep 正则化查找

7)apt 通常用于安装和卸载 eg:apt install xxx

8)source 通常用于重新执行修改后的文档,比如第一次使用编译安装的软件前。

9)chmod 权限更改

10)sudo 系统管理员身份

如果想查询最准确的官方解释,可以在指令后加 - h 或者 -- help,比如:apt -h,这样在terminal中就会显示详细的指令用法说明。这些常用指令的常见功能要熟悉起来才能尽快上手linux的操作。

1.根目录和家目录的区别

linux中/是根目录,/home是家目录,二者有什么区别??家目录是不是在根目录里面的??_百度知道

Linux家目录和根目录的区别_KellyXuJR的博客-CSDN博客

根目录 /

家目录 /home

对应用户 /home/username  我们可以直接在terminal中输入cd切换到这个路径

类比一下游戏,我觉得根目录有点像打游戏时的世界资源,家目录就是自己的小家,自己家里的资源(家目录)只能自己使用,而世界中的工具(根目录下的资源)每个用户都可以使用。也就是说,如果你写了一个代码,把它放在了自己的家目录下,那么只有你自己才能进入到这个路径下运行这个代码;如果你把它放在了根目录下,那么其他的用户也可以进入这个路径来运行你写的代码。

 2.创建文件与文件夹

touch 用于创建文件 eg:touch 123.txt 创建名为123的txt文件 

mkdir 用于创建文件夹 mkdir 123 创建名为123的文件夹

想要进入到某个路径,我们可以使用cd指令,在terminal中输入cd path,就可以进入到对应的path中。

想要打开或编辑文本文件,我们可以使用gedit或vim等软件打开。eg:gedit 123.txt

Vim常见命令语法 <Vim常见命令语法_Bai丁的博客-CSDN博客>

Linux的常用命令 - ❦zんêňɡさん - 博客园

3.压缩和解压指令

1)压缩命令:

命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名

可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

2)解压缩命令:

命令格式:tar -zxvf 压缩文件名.tar.gz

解压缩后的文件只能放在当前的目录。

4.ubuntu移动文件至其他文件夹

先进入待移动文件所在文件夹,然后sudo mv 文件名 目标路径

1将目录A重命名为B   mv A B

2)将/a目录移动到/b下,并重命名为c   mv /a /b/c(??)

3)-i 覆盖移动

4)mv <path_of_source_directory> <path_of_destination_directory> 移动文件夹

5. 删除文件 rm 文件名  eg:rm 123.txt  删除123.txt文件

    删除文件夹和内部文件  rm -rf 目录名字 这个指令会删除掉你输入的文件夹和它内部的一切文件且无法找回。所以一定要慎用。

rm: cannot remove 'XXX' : Permission denied (原因是没有权限)

解决办法:1)使用root用户删除 2)sudo rm 命令删除【慎用sudo rm -rf】

6新手在使用rm或者安装软件时经常遇到这种问题,出现的原因通常是后台有程序占用资源,比如曾强制关闭过terminal导致。正常的关闭是通过ctrl+c使程序终止运行再关闭terminal。如果遇到下边的问题,可以看下是否有其他打开的terminal正在运行程序,可以等运行完成或先关闭运行中的软件再进行尝试。如果实在不行,再使用下边的方法。

解决方法:

7. grep 强大的查找搜索功能

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活。

grep [options] [pattern] [file ...]

8.shell ( bash , zsh … )的区别

在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。

由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。用户界面和命令行就是这个另外开发的程序,就是这层“代理”。在Linux下,这个命令行程序叫做 Shell。

Shell 除了能解释用户输入的命令,将它传递给内核,还可以:调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;Shell 本身也可以被其他程序调用。Shell 将内核、程序和用户连接了起来

9.source

source命令(从 C Shell 而来)是bash shell的内置命令

source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 这些配置文件

source filename 与 sh filename 及./filename执行脚本的区别:

1当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。

2sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

3source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

10.cp 复制

eg:cp A path 将A复制到path处

        cp A B 将A更名为B,路径不变

11.sudo chmod 777 xxx    (文件夹的话chmod后加 -R) 更改xxx文件的权限,这里的777是权限的一种。

12.apt用法

1)   更新软件列表 apt update -y

2)搜索软件 apt search 关键字

3)显示软件包详情 apt show xxx

4)安装软件apt install xxx

5)升级指定软件 apt upgrade xxx

6)升级所有可升级的软件 apt upgrade

7)卸载软件 apt remove xxx

8)卸载软件并移除软件依赖 apt autoremove xxx

9)卸载软件并删除配置文件 apt remove xxx --purge

13.软件安装

linux的软件安装通常不同于windows下的.exe文件安装,在linux上通常有三种安装方式,以ubuntu系统为例:

1) 利用上一条的apt指令

第一步 sudo apt update

第二步 sudo apt upgrade

第三步 sudo apt install xxx或sudo apt-get install xxx

2) sudo dpkg -i xxx.deb 适用于.deb格式的软件压缩包。

3) ./configure

    make

    sudo make install   sudo make DESTDIR=/usr/xxx/xxxx install 指定路径安装)通常在解压后看到CMakeList.txt或是一堆库文件却没有编译,就需要用这种方式安装了。

14.sudo + 指令 (系统管理员身份)

我们在自己的家目录下进行指令操作的时候通常不需要使用sudo指令。但是,有时在操作的时候会出现permission denied的情况,这种情况大多是用户的权限不够导致,这时我们可以使用管理员指令,也就是sudo + 正常的指令来进行操作,这就像是在root权限下进行指令操作,只是比root账户的权限要小一些。

这里再具体举个例子,仍然借鉴前边解释家目录和根目录时使用的游戏服务器和用户账号的例子。我们知道家目录就相当于是用户自己的账号,根目录相当于服务器公共资源。实际上linux的账户分为普通账户和root账户。顾名思义,root账户的权限更高,就好比是维护服务器的技术人员,可以直接操作根目录。而我们正常使用时通常是作为普通用户使用的,这时我们的权限就比root权限小,会受到一些限制。在家目录下,操作大多数情况是直接输入对应指令就可以实现的(无需sudo),而当我们想使用根目录中的资源时,就需要借用sudo来暂时行使系统管理员的权利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值