具体Linux的信息建议先自己百度了解,本博客是笔者自己的学习记录,因此本博客是按照本人的学习进度及内容而写的,如有错误或者忘记的,欢迎留言告知。

  1. 进入Linux系统

Linux系统与Windows系统的设定理念大不相同,windows系统的设想是用户都是傻子,所以系统面向对象来说比较简单,而Linux系统则认为用户都是了解相关方的知识。

按照Linux系统有多种方法,比较常见的是两种,一种是直接安装到电脑的系统,另一种是安装虚拟机,笔者选择是安装虚拟机,然后在虚拟机中安装Linux系统,详细方法请自行搜索或者私聊笔者。

正常登录与退出

进入 Linux系统,如同Windows下的一样,只需要账号密码即可,下面是我个人的Linux系统的主页面

至于退出就更加简单了,点x号就行。

命令行页面的登录与退出

下面介绍使用命令行页面登录和退出Linux系统,

切换到命令行页面

Linux系统提供了6个虚拟控制台(虚拟终端),同时按CTRL+alt+F1到F6来切换,但是部分系统的不同,比如笔者,当在登录页面或上一个页面按CTRL+alt +F3后,就会进入(如下图),但是其他的没有反应。

此时就是Linux的登录界面,在login处输入用户名,然后按enter;在password输入密码,再按enter,若用户名或者密码错误就会出现以下情况,登录成功就会如下第二个图,值得注意的是,Linux的密码输入不像window一样会显示出来,因此大家不必担心密码泄露。

而登录成功以后,Linux系统的系统提示符是$而不是#,是因为用户是普通用户,root用户的提示符为#,表示最高权限,若想看自己所处于的终端时,可输入ttp命令来查看,如图显示我的处于第三号虚拟终端

想要退出,只需要输入exit命令,就会返回上一个需要输入用户名和密码的地方,然后再按一次CTRL+alt+F7即可,笔者的是F1;自行尝试。另外,以上命令在页面的终端命令行也可以使用

若没有桌面显示的终端,到下面的9个点里寻找即可。右键有固定到收藏夹选项。

在虚拟机中切换或许会不流畅,可能不会达到预期的效果,但是问题不大。

  1. Linux基本命令认识

  1. Linux命令格式

Linux命令格式不算辅助,但是其中需要英语基础,它们与英语口语十分的相似,其 格式如下:

命令 [选项] [参数] (command [options] [arguments])

注意,每一项之间用一个或者多个空格隔开,方括号里的是可选的,具体含义如下;

命令:告诉Linux系统需要执行什么。

选项:说明命令运行的方式(可以改变命令的功能),且一般以"-"字符开始。

参数:说明命令影响或者操作的是什么,如一个文件,一个目录或者一段文字。

  1. 用户查询命令

有人可能想问,我自己是谁我能不知道吗,实际上是因为Linux是一个支持多用户且多程序同时进行的,一个人可以拥有多个用户,因为工作需要经常切换,忘记了哪个用户也很正常。

id 可以查询有效用户的 UID 和 GID、groups 信息

who 可以查询当前登录在系统上的登录用户的信息

who am i 等同于 who -m,只打印执行该命令的登录用户的信息(此处不出是其他原因)

whoami 可以查询当前有效用户的名字

w 获取到更多关于用户的信息

users 查询目前登录Linux系统的用户

  1. uname命令

直接输入uname可获取操作系统信息

uname -n:查看主机名

uname -i:查看所使用系统的硬件平台名

同时查看只需要将前面两个命令组合即可,且与先后次序无关

-r:显示操作 系统发布的版本信息

-s:显示操作系统名

-m:显示机器硬件名

-p:显示主央处理器的类型

-a:显示所有信息(注意:也可以使用uname --all,相同的结果)

注意:可自由组合

若想知道所有可使用的命令信息,可以带有--help来查看

  1. date,cal,clear命令

date命令

用于显示系统日期和时间

时间方面:

  • % : 印出 %

  • %n : 下一行

  • %t : 跳格

  • %H : 小时(00..23)

  • %I : 小时(01..12)

  • %k : 小时(0..23)

  • %l : 小时(1..12)

  • %M : 分钟(00..59)

  • %p : 显示本地 AM 或 PM

  • %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

  • %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

  • %S : 秒(00..61)

  • %T : 直接显示时间 (24 小时制)

  • %X : 相当于 %H:%M:%S

  • %Z : 显示时区

日期方面:

  • %a : 星期几 (Sun..Sat)

  • %A : 星期几 (Sunday..Saturday)

  • %b : 月份 (Jan..Dec)

  • %B : 月份 (January..December)

  • %c : 直接显示日期与时间

  • %d : 日 (01..31)

  • %D : 直接显示日期 (mm/dd/yy)

  • %h : 同 %b

  • %j : 一年中的第几天 (001..366)

  • %m : 月份 (01..12)

  • %U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

  • %w : 一周中的第几天 (0..6)

  • %W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

  • %x : 直接显示日期 (mm/dd/yy)

  • %y : 年份的最后两位数字 (00.99)

  • %Y : 完整年份 (0000..9999)

实例如下:

cal命令

显示日历,基本参数和实例如下,此版本为简单记录,不过深究,

-1

只显示本月的日历,这是默认的参数

-3

显示上一月、本月以及下个月共三个月的日历

-y [year]

显示指定年份的所有月份,如果不指定哪一年,默认为本年。-y可以省略

-m [month]

显示本年指定月份; [month]可以是数字或者月份对应的英文全拼或缩写,== [month]参数不可省==;如果使用数字指定月份,那么可以在数字后面添加f(following)或p( previous)参数用于指定下一年或者上一年(注意,数字和参数不可有空格!)。

-A [num]

显示在已指定的任何月份之后发生的月份数(num个月),即add num months

-B[num]

显示在已指定的任何月份之前发生的月份数(num个月),即before num months

-d YYYY-MM

显示年份为YYYY,月份为MM的日期

-h

不突出显示今天的日期

clear命令

与名字一样,意思为清除终端窗口中的显示

  1. passwd命令

更改用户密码,不管普通用户还是root用户都可以用这个命令;

值得注意的是,roo用户的权限过高,很容易造成不可逆转的变故,所有一般是使用sudo来操作需要root权的指令,如查看其他用户的密码状态

passwd -S name查看某一用户密码的状态name表示想查看的账户名

  1. whatis命令与--help

课本以及资料上显示的大概内容是,Linux操作系统的命令和参数太多,不可能全部记住,因此它提供了whatis和--help来帮助我们

whatis:what is,字面意思,后面加想知道的命令,如;

如第一条命令显示uname命令有两种功能,列出系统信息和获取当前内核名字与信息

--help:注意是‘--’而不是‘-’,功能与上面的内容相识。

  1. man命令

man是manual(手册)的前三个字母

简单来说就是怕我们在命令,文件,函数等有什么不明白的可以通过man手册来查询

我们常用前3个手册,第1手册中是用来存放可执行程序和shell命令的;第2个手册用来存放系统调用函数的,这些函数由内核提供;第3个手册是用来存放库调用函数的,这些函数由第三方库来提供。

man 3 printf与man printf的区别是第一个命令是到手册3中寻找

注:进入上面的时候想退出时按q即可

  1. 关键词搜寻Man Pages

当要使用一个命令而又不能确定它的名字的时候,就可以用带有-k选项和要搜寻的关键词的man命令来搜寻Man Pages 中相关的内容

格式:man -k keyword,其中keyword是要搜寻的关键词,如whoami和who命令

当你记不全命令时,可以利用-k关键词来搜寻命令

若想要知道命令的功能,则可能用-f来查看,格式如下

man -f name;name表示命令的名字,其实应该用cammand来表示,本记录为了方便

值得注意的是,man -f name 输出的结果和whatis name是一样的

  1. info命令等获取帮助的方法

格式:info name

和man的效果差不多,但是在开发者看来它提供的信息比man的详细得多,用法也更加简单

除了上面的方法,还可以查看/usr/share/doc/

  1. file——确定文件数据类型

在Linux中因为文件没有拓展名(后缀),所以想要用file这个命令来查看数据类型

  1. Linux文件系统及相关命令

  1. 层次结构基本知识

在Linux系统中,一切皆文件,分布是树状图样式

注意,Linux下文件是区分大小写的

bin:binary ,二进制,属于普通用户可以使用的命令

sbin:Supervisor binary 管理员(root)使用的命令

boot:启动,与系统启动相关的命令/文件

cdrom:光盘文件位置

dev:device,设备,Linux下所有的设备都放在/dev路径下

etc:存放系统的配置文件,在该目录下的文件基本都是ASCII码的正文文件,普通用户可以查看,只有超级用户可以修改

home:存放普通用户信息

root:存放主用户信息

lib:library,库

media:多媒体

mnt:mount,挂载 mount point 挂载点

opt:optional,可选的,可选的软件包将会放到此路径下

proc:进程

srv:service,服务

sys:系统

var:variable,变量,可变的

tmp:普通用户或程序可以将临时文件存入这目录,且各个用户都可以查看,因此重要文件不可放在这里

在Linux文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点"."表示;另外一个是当前目录的上一层目录,也叫父目录,可以用两个点表示".",若是一个目录是以一个点开始的,就表示这个目录或者文件是一个隐藏目录或者文件。当用以默认方式查找时,就不会显示目录或文件。

Linux文件系统中另外一个非常重要的目录,也是用户使用最多的目录应该就是家目录,家目录是用来存放用户自己的文件或者目录,当用户登录Linux的时候,系统就自动进入家目录,其中,超级用户root的家目录是/root,普通用户的家目录被存放在/home目录之下。并使用该名字作为最后一级家目录的名字,如cat用户的家目录为/home/cat

  1. cd,pwd,ls

  1. cd命令——change directories

当我们想要切换到其他目录中去时,就可以使用这个命令,如下命令,ls列出目录下的文件及子目录,用cd切换到mnt1中,以此类推。

值得注意的是,cd是目录之间的切换,其中不乏使用绝对路径和相对路径。若是想返回上一级目录,输入ls ..即可,注意是“..”而不是“.”,可以直接只是输入cd或者cd ~就会返回本账户下的开始(主)目录

另外,可以用cd -来切换工作目录

  1. pwd命令——print working directory

pwd用来显示当前目录的绝对目录,whoami是用来确定当前用户,而pwd是用来确定选择所以在的工作目录。

  1. ls命令——list

显示指定工作目录下的文件及属性信息。

格式:ls [参数] [文件]

-a:列出指定目录下所有文件和子目录的信息(包括隐含文件)。作用与--all的作用相同

-A:同-a,但不列出. 和..。

-b:当文件名中有不可显示的字符时,将显示该字符的八进制数字。

-c:按文件的最后修改时间排序。

-C:分成多列显示。

-d:显示目录名而不是显示目录下的内容,一般与-l连用。

-f:在列出的文件名后加上符号来区别不同类型。

-R:递归地显示指定目录的各级子目录中的文件。

-s:给出每个目录项所用的块数,包括间接块。

-t:按最后修改时间排序(新的在前,旧的在后)。

-h:human,会将文件的大小转换成相对易懂的方式。其中第五列的数字表示文件的大小,单位是字节,用-h之后就转换成了k

-l:以长格式显示文件的详细信息,包括文件的类型与权限、链接数、文件所有者、文件所有者所属的组、文件大小、最近修改时间及文件名

这些命令可以和文件或者路径一起使用

其中第一个字母的含义如下(详情后面会讲)

  1. cp命令——copy

cp命令可以将一个文件或者一个目录从一个位置复制到另外一个位置,其中,目的文件或者目录一定是cp命令的最后一个参数。值得注意的是,cp命令是一个具有破坏性的命令,谨慎使用。

格式:

cp [-options] source(s) target

source(源);可以是一个文件或多个文件,也可以是一个或多个目录名。

target(目的):可以是一个文件或目录

option(选项):cp命令的选项,以下是一些经常用的选项

-i 或 --interactive 覆盖文件之前先询问用户

-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-p 或 --preserve保留源文件或目录的属性,包括所有者,所属组、权限与时间戳

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

值得注意的是,一般用户使用cp命令,默认是-f的操作,而root用户下的是-i的操作,带有-i的命令需要确认,Y表示yes,N表示no。若是要复制目录,且该目录下有子目录,则需要使用带有-r的命令,且成功了不会又提醒

如果不使用绝对引用,则会在当前目录复制,若目的文件或者目录不存在。则会自动创建一个目录或者文件。

  1. mv——move

顾名思义就是移动文件或者目录,同样,mv命令也可以用来修改文件和目录名,而且它也是一个具有破坏性的命令,谨慎使用。

格式:mv [选项] 源文件或目录 目标文件或目录

-b :若需覆盖文件,则覆盖前先行备份。

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件(destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且source 比较新,才会更新(update)

-t :--target-directory=DIRECTORY move all SOURCE arguments into

DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,

此时目标目录在前,源文件在后。

如上图,移动的时候使用了绝对路径,就会移动到该位置,但是若是没有绝对路径,就会在当前路径下重新创建一个同名的文件并把值赋值到这个文件中。(也就是仅仅改名字了)

  1. mkdir——make directory

在Linux中不可避免的要创建目录,Linux给我们提供了mkdir来创建新的目录,可以是绝对目录也可以是相对目录

格式:mkdir 参数 目录名

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

-v, --verbose 每次创建新目录都显示信息

touch——创建文件夹

上面讲了如何创建目录,现在就到了如何创建文件名

创建文件夹的时候,可以是一个文件,也可以是多个文件,当时若是没有输入路径,则会在当前路径下创建空文件。如下,第一个是创建一个名为txt1的空文件,而后一个则是创建多个文件夹,其中文件夹之间用空格隔开

若是想要创建的文件已经存在,则touch命令就会把该文件的时间戳改为当前访问的时间和日期,如下,txt1本来是21:33,经过该命令就会更改为22:30

  1. rm——remove——删除文件

格式 参数 目录/文件

其中目录和文件可以是多个,它会永久的在文件系统中删除文件或者目录,所以它是一个具有破坏性的命令。

其中的参数为

-d或--directory     直接把欲删除的目录的硬连接数据删成0,删除该目录。

-f或--force       强制删除文件或目录,忽略不存在的文件,不提示确认。

-i或--interactive   删除既有文件或目录之前先询问用户。

-I       在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生。

-r或-R或--recursive  递归删除,将指定目录下的所有文件及子目录一并删除。

-v或--verbose     显示指令执行过程。

一般情况下使用rm命令,默认是带有参数-f的,在超级用户root下则会是默认-i

  1. rmdir或者rm -r删除目录

介绍了文件和目录,以及删除文件,那当然也要学习删除目录。

Linux提供了rmdir和rm -r来删除目录,但是,rmdir命令只能删除一个目录,且只能删除空目录,即目录中不能有子目录和文件。

linux的学习之旅(初学者)--持续更新中相关推荐

  1. 数据库SQL语言学习--数据查询(持续更新中)

    数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.   ...

  2. FRM学习复习2(持续更新中..)

    (此文仅记录学习进程,加油!) FRM学习复习2(持续更新中..) Framework框架 overview of risk management风险管理概述 framework overview R ...

  3. C++学习资源汇总(持续更新中)

    以下收集汇总一些C++的学习资料(持续更新中) 网站和论坛: http://www.csdn.net/ http://www.iteye.com/ http://www.bccn.net/  编程中国 ...

  4. LookAround开元之旅(持续更新中...)

    应用介绍 随便瞧瞧是一款为android用户量身定做的免费图文资讯软件 集美食,文学,语录等频道于一体 界面简洁,操作流畅,图文分享,个性收藏 是广大卓粉的必备神器 APK下载 -->https ...

  5. 计算机专业学习资料总结(~持续更新中)

    //2019年7月26日,这两个周在学习以太坊区块链,分享一些区块链导论入门的书籍. //2019年5月22日更新<程序员的数学>,这是一系列书,第一本应该算是计算机思维的启蒙读物吧,上了 ...

  6. 好的博客学习的地址【持续更新中】

    整理的深度学习.算法不错,可以学习.http://blog.csdn.net/Sun7_She/article/category/2654279 校园电子图书馆:免费最新的大学英语六级讲解  新东方数 ...

  7. atmega32u4与linux,实用:Atmega 32U4 控制电路 持续更新中

    Abstract: 这篇文章将会针对 Atmega 32U4 单片机讲解如何将这块芯片集成到自己的项目中. 这样做的好处是可以避免使用外部单片机/Arduino加跳线的不稳定设计,将一个项目的后期作品 ...

  8. 【深度学习】笔记(持续更新中。。。)

    一个人在不接触对方的情况下,通过一种特殊的方式,和对方进行一系列的问答.如果在相当长时间内,他无法根据这些问题判断对方是人还是计算机,那么就可以认为这个计算机是智能的. --阿兰·图灵(Alan Tu ...

  9. 暑期英语学习(词组积累)【持续更新中】

    说白了,写这文章纯粹是为了下个学期六级准备的,过了一个大学一年,英语啥的都忘记的差不多了,能做到的只有先把高中英语词组捡起来,然后认真准备考试,接下来就是准备考研了,俗话说ACM+英语一起抓,考试AC ...

  10. linux系统及服务安全(持续更新中)

    linux安全1.隐藏NGINX和PHP版本号 curl -I "http://www.xxx.com" //检测 nginx:  http段加入server_tokens off ...

最新文章

  1. 文件特殊权限suid、sgid、stick_bit、硬链接、软链接
  2. 第10章:项目沟通管理和干系人管理-章节重点
  3. POJ1734(floyd求最小环的路径)
  4. C++虚继承(二) --- C++ 对象的内存布局(上)(陈皓)
  5. IOS开发基础之SQLite3数据库的使用增删改查
  6. 360浏览器怎么查看保存的密码
  7. 信贷产品的架构设计总览
  8. 高效开发 Android App 的 10 个建议
  9. 改变人类社会的五位数学大家
  10. java 有序集合_java有哪些有序集合?
  11. 房子值500万租金仅3500元,卖房拿利息和出租哪个合算?
  12. android自动接听和挂断电话
  13. 关于MVC打印问题,打印指定的内容
  14. getBoundingClientRect方法获取元素在页面中的相对位置
  15. SOCKSCAP的使用方法
  16. 叶俊—中国的安东尼·罗宾
  17. xp系统显示无打印机服务器,XP没有打印机print spooler服务的解决方法
  18. JBIL:一种区块链自治规则与国家法律的衔接框架
  19. AT32F407/437 PTP Daemon使用demo
  20. JavaScript,for循环效率测试,不同遍历循环测试,数组添加效率测试,大数组拼接测试,for循环遍历修改 和 string replace效率

热门文章

  1. debian中设置默认声卡
  2. 计算机常见问题解答大全,计算机原理常见问题大全.doc
  3. 漏洞原理防御(寒假)
  4. qt之proxy()代理探究
  5. Microsoft Excel 教程:如何在 Excel 中进行数学运算?
  6. 【权限专栏】联盟链的“圆桌会议”
  7. 页面左右两边跟随式广告框
  8. 如何选择分光光度计参比溶液,有技巧可寻
  9. Lisa美语的创始人Lisa Mojsin博士的微信公众号
  10. 《放羊的星星》经典台词