Linux学习记录-----《快乐的Linux命令行》.

之前自学python的时候一直用的Win7,没想过,也有点怕使用Linux,可能人对未知的东西都有点恐惧,但是,但是,学了4个多月,退无可退了,不管是网站的部署,还是基于后端工作的需求,Linux的学习必须提上日程, 参考用书,,, 《快乐的Linux命令行》,操作系统通过虚拟机安装的Ubuntu  16

很喜欢书中的一句话

最开始的准备工作进入超级用户,,,,

su -
这样,就在当前目录下,变更成超级用户
如果之前没有设置过超级用户密码的话
需要使用sudo passwd root
按照提示,如果是提示输入密码,就是你的用户密码
然后提示输入 Unix密码
确认Unix密码
然后再使用 su   - 然后提示输入root密码,再然后就进入root权限

1文件系统中的跳转

我们需要学习的第一件事(除了打字之外)是如何在 Linux 文件系统中跳转。在这一章节
中,我们将介绍以下命令:

? pwd —打印出当前工作目录名

? cd —更改目录

? ls —列出目录内容快捷键 运行结果

cd 更改工作目录到你的家目录。

cd - 更改工作目录到先前的工作目录。
cd ?user name 更改工作目录到用户家目录。例如, cd ?bob 会更改工作目
录到用户“bob”的家目录。

2

ls —列出目录内容

? ?le —确定文件类型

? less —浏览文件内容

理解ls命令后面带的字母的意思

ls 命令有大量的选项。表 列出了最常使用的选项。

选项 长选项 描述
-a --all 列出所有文件,甚至包括文件名以圆点开头的默认会
被隐藏的隐藏文件。

-d --directory 通常,如果指定了目录名,ls 命令会列出这个目录中
的内容,而不是目录本身。把这个选项与 -l 选项结合
使用,可以看到所指定目录的详细信息,而不是目录
中的内容。

-F --classify 这个选项会在每个所列出的名字后面加上一个指示
符。例如,如果名字是目录名,则会加上一个’/’ 字
符。

-h --human-readable 当以长格式列出时,以人们可读的格式,而不是以字
节数来显示文件的大小

-l 以长格式显示结果。
-r --reverse 以相反的顺序来显示结果。通常,ls 命令的输出结果
按照字母升序排列。


-S 命令输出结果按照文件大小来排序。


-t 按照修改时间来排序。

3.操作文件和目录

cp —复制文件和目录

? mv —移动/重命名文件和目录

? mkdir —创建目录

? rm —删除文件和目录

? ln —创建硬链接和符号链接

用到了5个最常见的命令

rm(删除)最常用的的

选项 意义
-i, --interactive 在删除已存在的文件前,提示用户确认信息。 如果不指定
这个选项,rm 会默默地删除文件
-r, --recursive 递归地删除文件,这意味着,如果要删除一个目录,而此目
录又包含子目录,那么子目录也会被删除。要删除一个目
录,必须指定这个选项。
-f, --force 忽视不存在的文件,不显示提示信息。这选项颠覆了“--
interactive”选项。
-v, --verbose 在执行 rm 命令时,显示翔实的操作信息。

表 5-8: rm 选项

命令 运行结果
rm ?le1 默默地删除文件
rm -i ?le1 除了在删除文件之前,提示用户确认信息之外,和上面的命
令作用一样。
rm -r ?le1 dir1 删除文件 ?le1, 目录 dir1,及 dir1 中的内容。
rm -rf ?le1 dir1 同上,除了如果文件 ?le1,或目录 dir1 不存在的话,rm 仍
会继续执行。

用别名(alias)创建你自己的命令
现在是时候,感受第一次编程经历了!我们将用 alias 命令创建我们自己的命令。但在开始
之前,我们需要展示一个命令行小技巧。可以把多个命令放在同一行上,命令之间用 “;” 分

生成一个命令    alias foo=‘cd /usr; ls; cd -‘

删除一个命令    [[email protected] ~]$ unalias foo

开。它像这样工作:

command1; command2; command3...

我们会用到下面的例子:

[[email protected] ~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
...
[[email protected] ~]$

正如我们看到的,我们在一行上联合了三个命令。首先更改目录到/usr,然后列出目录
内容,最后回到原始目录(用命令 “cd ~”), 结束在开始的地方。现在,通过 alia 命令把这
一串命令转变为一个命令。我们要做的第一件事就是为我们的新命令构想一个名字。比方说
“test”。在使用”test” 之前,查明是否 “test” 命令名已经存在系统中,是个很不错的主意。为
了查清此事,可以使用 type 命令:

[[email protected] ~]$ type test
test is a shell builtin

哦!“test” 名字已经被使用了。试一下”foo”:

[[email protected] ~]$ type foo
bash: type: foo: not found

太棒了!“foo” 还没被占用。创建命令别名:

[[email protected] ~]$ alias foo=‘cd /usr; ls; cd -‘

注意命令结构:

alias name=‘string‘

在命令 “alias” 之后,输入“name”,紧接着(没有空格)是一个等号,等号之后是一串用
引号引起的字符串,字符串的内容要赋值给 name。我们定义了别名之后,这个命令别名可以
使用在任何地方。试一下:

[[email protected] ~]$ foo
bin games kerberos lib64 local share tmp
...
[[email protected] ~]$

我们也可以使用 type 命令来查看我们的别名:

[[email protected] ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -‘

删除别名,使用 unalias 命令,像这样:

[[email protected] ~]$ unalias foo
[[email protected] ~]$ type foo
bash: type: foo: not found

虽然我们有意避免使用已经存在的命令名来命名我们的别名,但这是常做的事情。通常,
会把一个普遍用到的选项加到一个经常使用的命令后面。例如,之前见到的 ls 命令,会带有色
彩支持:

[[email protected] ~]$ type ls
ls is aliased to ‘ls --color=tty‘

要查看所有定义在系统环境中的别名,使用不带参数的 alias 命令。下面在 Fedora 系统中
默认定义的别名。试着弄明白,它们是做什么的:

[[email protected] ~]$ alias
alias l.=‘ls -d .* --color=tty‘
...

5  | 重定向

这堂课,我们来介绍可能是命令行最酷的特性。它叫做 I/O 重定向。“I/O” 代表输入/输
出,通过这个工具,你可以重定向命令的输入输出,命令的输入来自文件,而输出也存到文
件。也可以把多个命令连接起来组成一个强大的命令管道。为了炫耀这个工具,我们将叙述以
下命令:

? cat -连接文件

? sort -排序文本行

? uniq -报道或省略重复行

? grep -打印匹配行

? wc -打印文件中换行符,字,和字节个数

? head -输出文件第一部分

? tail - 输出文件最后一部

I/O 重定向允许我们来重定义标准输出送到哪里。重定向标准输出到另一个文件除了屏幕,
我们使用 “>” 重定向符,其后跟着文件名。为什么我们要这样做呢?因为有时候把一个命令的
运行结果存储到一个文件很有用处。例如,我们可以告诉 shell 把 ls 命令的运行结果输送到文
件 ls-output.txt 中去,由文件代替屏幕。

[[email protected] ~]$ ls -l /usr/bin > ls-output.txt

6  | 从 shell 眼中看世界、

? echo -显示一行文本

1 . 算术表达式展开

[[email protected] ~]$ echo $((2 + 2))

[[email protected] ~]$ echo $(($((5**2)) * 3))

2. 花括号的使用

[[email protected] ~]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back

使用了一系列整数:

[[email protected] ~]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5

一系列以倒序排列的字母:

[[email protected] ~]$ echo {Z..A}
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

那么这对什么有好处呢?最普遍的应用是,创建一系列的文件或目录列表。例如,如果我
们是摄影师,有大量的相片。我们想把这些相片按年月先后组织起来。首先,我们要创建一系
列以数值 “年-月” 形式命名的目录。通过这种方式,目录名按照年代顺序排列。我们可以键
入整个目录列表,但是工作量太大了,并且易于出错。反而,我们可以这样做:

[[email protected] ~]$ mkdir Pics
[[email protected] ~]$ cd Pics
[[email protected] Pics]$ mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
[[email protected] Pics]$ ls
2007-01 2007-07 2008-01 2008-07 2009-01 2009-07
2007-02 2007-08 2008-02 2008-08 2009-02 2009-08
2007-03 2007-09 2008-03 2008-09 2009-03 2009-09
2007-04 2007-10 2008-04 2008-10 2009-04 2009-10
2007-05 2007-11 2008-05 2008-11 2009-05 2009-11
2007-06 2007-12 2008-06 2008-12 2009-06 2009-12

·

时间: 2024-12-23 20:13:51

Linux学习记录-----《快乐的Linux命令行》.的相关文章

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

linux 学习记录- 用户切换

一.用户切换:      缘由:1.使用一般账号操作系统,这是平日操作的好习惯.2.用较低权限启动系统服务:如apache软件,可以建立        apache用户来启动apache软件,如果这个程序被攻破,系统也不至于损毁.3.软件本身的限制. a.su  最简单的切换用户身份的方法       使用方法:  su [-lm][-c 指令][username]            详解: -:代表使用login-shell的变量档案读取方式来登入系统,若后面没有用户名,代表切换到root

Linux学习记录--文件管理相关系统编程

文件管理相关系统编程 重要文件标识 打开文件标识 O_RDONLY:只读方式打开 O_WRONLY:只写方式打开 O_RDWR:可读写方式打开 打开文件操作副标识 O_CREAT:若路径中文件不存在则创建,使用Open函数时需同时指定文件权限 O_EXCL:若与O_CREAT连用,检查文件是否已经存在,若不存在则建立文件存在则返回错误,这使创建和测试成为一个原子操作 O_APPEND:读写文件从文件尾部开始移动,所有写入数据都加入文件尾部 O_TRUNC:若文件存在并且可以写入,此标识会将源文件

积攒力量,终会展翅飞翔。Linux学习记录

带着对linux的兴趣,我来到了兄弟连!来此学习已一月有余,也该写点东西记录一下在兄弟连的点滴. 上了这么多年学,我感觉学习的过程是枯燥的,这个问题应该是很难避免的!甚至可能在我们大家的潜意识里就觉得学习本来就应该是这样的啊,其实这是不对的!!超哥可以用生活中生动形象的例子来帮助你理解枯燥的理论,用语幽默风趣,同时也有助于记忆,这些都让原本痛苦的学习过程变得容易起来!爱因斯坦有一句名言,如果你无法向六岁的小孩解释它,那代表你自己也不明白!超哥完美的将复杂的理论简单化了,我感觉这不仅仅可以使初学者

ubuntu/linux学习记录1

文章始建时间:2014年9月15日15:12:26. 我是初学者,是开源软件的受益者,我相信“我助人人,人人助我”的思想.我想记录学习linux一步步走来的点滴,为后来的新手铺路搭桥,并以此为勉! 如果你真想学linux,正如我一般,就要追求系统性地学习linux,才是好的! 我的学习思路是:粗浅的理论知识+实践 -> 把Ubuntu用起来,用图形界面,尽量用命令,开发java(我是java工程师) ->  目标像在windows下完成日常生活和工作 ===>  买本由浅如深的linux

Linux 学习记录 2019年5月5日

2.1 shell内核:include <stdio.h> shell是应用程序控制硬件终端的一个统称.bash 1:广泛 2:好用 tab键补齐 .既然Linux系统中已经有了Bash这么好用的"翻译官",那么接下来就有必要好好学习下怎么跟它沟通了. 常见执行Linux命令的格式是这样的:命令名称 [命令参数] [命令对象]注意,命令名称.命令参数.命令对象之间请用空格键分隔. 命令:要做的事情参数:对命令的修饰 让命令更加适用于当前的工作场景对象:被动方,承受者 命令对

linux学习记录4

涉及 文件管理:标准I/O和管道:inode ln   创建链接 -d 硬链接  相当于文件别名:多个名字 指向同一个数据块地址 在选定位置新建一个文件名,显示文件大小与源文件相同,但并没有占用磁盘空间 只增加了极少量inode数据:  A与B都指向硬盘数据block -s 软连接  相当于快捷方式:可以跨分区创建:!最好用绝对路径创建 ls -s  /SPATH(原始文件的绝对路径,或相对路径;相对于软链接DPATH路径) /DPATH 会在你选定的位置上生成一个文件,保存了路径信息:  A指

Linux学习记录-1.文件管理

Linux 关机命令:poweroff,shutdown.重启:reboot. shutdown用法: shutdown -krhc 时间 信息 -k 仅发送信息 -r 停掉服务后重启 -h 停掉服务后关机 -c 取消进行的shutdown. 时间 默认一分钟,now代表立刻,+10代表十分钟之后,也可以直接写出时间. 在centos7中管理系统服务的指令为systemctl [指令],其中指令有halt(系统停止),poweroff(关机),reboot(重启),suspend(休眠). ls

Linux学习记录-01(Linux系统发展史)

对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.Linux操作系统诞生于1991 年10 月5 日(这是第一次正