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 —列出目录内容
• file —确定文件类型
• 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 file1 默默地删除文件
rm -i file1 除了在删除文件之前,提示用户确认信息之外,和上面的命
令作用一样。
rm -r file1 dir1 删除文件 file1, 目录 dir1,及 dir1 中的内容。
rm -rf file1 dir1 同上,除了如果文件 file1,或目录 dir1 不存在的话,rm 仍
会继续执行。
4. 用别名(alias)创建你自己的命令
现在是时候,感受第一次编程经历了!我们将用 alias 命令创建我们自己的命令。但在开始
之前,我们需要展示一个命令行小技巧。可以把多个命令放在同一行上,命令之间用 “;” 分
生成一个命令 alias foo='cd /usr; ls; cd -'
删除一个命令 [me@linuxbox ~]$ unalias foo
开。它像这样工作:
command1; command2; command3...
我们会用到下面的例子:
[me@linuxbox ~]$ cd /usr; ls; cd -
bin games kerberos lib64 local share tmp
...
[me@linuxbox ~]$
正如我们看到的,我们在一行上联合了三个命令。首先更改目录到/usr,然后列出目录
内容,最后回到原始目录(用命令 “cd ∼”), 结束在开始的地方。现在,通过 alia 命令把这
一串命令转变为一个命令。我们要做的第一件事就是为我们的新命令构想一个名字。比方说
“test”。在使用”test” 之前,查明是否 “test” 命令名已经存在系统中,是个很不错的主意。为
了查清此事,可以使用 type 命令:
[me@linuxbox ~]$ type test
test is a shell builtin
哦!“test” 名字已经被使用了。试一下”foo”:
[me@linuxbox ~]$ type foo
bash: type: foo: not found
太棒了!“foo” 还没被占用。创建命令别名:
[me@linuxbox ~]$ alias foo='cd /usr; ls; cd -'
注意命令结构:
alias name='string'
在命令 “alias” 之后,输入“name”,紧接着(没有空格)是一个等号,等号之后是一串用
引号引起的字符串,字符串的内容要赋值给 name。我们定义了别名之后,这个命令别名可以
使用在任何地方。试一下:
[me@linuxbox ~]$ foo
bin games kerberos lib64 local share tmp
...
[me@linuxbox ~]$
我们也可以使用 type 命令来查看我们的别名:
[me@linuxbox ~]$ type foo
foo is aliased to `cd /usr; ls ; cd -'
删除别名,使用 unalias 命令,像这样:
[me@linuxbox ~]$ unalias foo
[me@linuxbox ~]$ type foo
bash: type: foo: not found
虽然我们有意避免使用已经存在的命令名来命名我们的别名,但这是常做的事情。通常,
会把一个普遍用到的选项加到一个经常使用的命令后面。例如,之前见到的 ls 命令,会带有色
彩支持:
[me@linuxbox ~]$ type ls
ls is aliased to 'ls --color=tty'
要查看所有定义在系统环境中的别名,使用不带参数的 alias 命令。下面在 Fedora 系统中
默认定义的别名。试着弄明白,它们是做什么的:
[me@linuxbox ~]$ 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 中去,由文件代替屏幕。
[me@linuxbox ~]$ ls -l /usr/bin > ls-output.txt
6 | 从 shell 眼中看世界、
• echo -显示一行文本
1 . 算术表达式展开
[me@linuxbox ~]$ echo $((2 + 2))
[me@linuxbox ~]$ echo $(($((5**2)) * 3))
2. 花括号的使用
[me@linuxbox ~]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back
使用了一系列整数:
[me@linuxbox ~]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5
一系列以倒序排列的字母:
[me@linuxbox ~]$ 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
那么这对什么有好处呢?最普遍的应用是,创建一系列的文件或目录列表。例如,如果我
们是摄影师,有大量的相片。我们想把这些相片按年月先后组织起来。首先,我们要创建一系
列以数值 “年-月” 形式命名的目录。通过这种方式,目录名按照年代顺序排列。我们可以键
入整个目录列表,但是工作量太大了,并且易于出错。反而,我们可以这样做:
[me@linuxbox ~]$ mkdir Pics
[me@linuxbox ~]$ cd Pics
[me@linuxbox Pics]$ mkdir {2007..2009}-0{1..9} {2007..2009}-{10..12}
[me@linuxbox 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
转义字符 \
7 | 键盘高级操作技巧
• clear -清空屏幕
• history -显示历史列表内容
通过tab实现自动补全
自动补全
shell 能帮助你的另一种方式是通过一种叫做自动补全的机制。当你敲入一个命令时,按下
tab 键,自动补全就会发生。
搜索历史命令
通过输入 history 在通过 !加前面的号码
8 | 权限
在这一章中,我们将看看这一系统安全的本质部分,会介绍以下命令:
• id –显示用户身份号
• chmod –更改文件模式
• umask –设置默认的文件权限
• su –以另一个用户的身份来运行 shell
• sudo –以另一个用户的身份来执行命令
• chown –更改文件所有者
• chgrp –更改文件组所有权
• passwd –更改用户密码
9 | 进程
这一章将介绍以下命令:
• ps –报告当前进程快照
• top –显示任务
• jobs –列出活跃的任务
• bg –把一个任务放到后台执行
• fg –把一个任务放到前台执行
• kill –给一个进程发送信号
• killall –杀死指定名字的进程
• shutdown –关机或重启系统
10 | vi 简介
关于vim的学习,可以在shll中输入vimtutor 进入系统自带的教程
移动光标
当在 vi 命令模式下时,vi 提供了大量的移动命令,其中一些是与 less 阅读器共享的。这里
列举了一些:
按键 移动光标
l or 右箭头 向右移动一个字符
h or 左箭头 向左移动一个字符
j or 下箭头 向下移动一行
k or 上箭头 向上移动一行
0 (零按键) 移动到当前行的行首。
ˆ 移动到当前行的第一个非空字符。
$ 移动到当前行的末尾。
w 移动到下一个单词或标点符号的开头。
W 移动到下一个单词的开头,忽略标点符号。
b 移动到上一个单词或标点符号的开头。
B 移动到上一个单词的开头,忽略标点符号。
Ctrl-f or Page Down 向下翻一页
Ctrl-b or Page Up 向上翻一页
numberG 移动到第 number 行。例如,1G 移动到文件的
第一行。
G 移动到文件末尾。
全局替换
1. 如何确切知道自己是否安装了某个软件?
答案: $ dpkg -l filename
一般来说我们不知道软件的全称,可能只知道关键词。比如我想知道自己是否安装了google浏览器:
$ dpkg -l "google" 这样会找不到。
$ dpkg -l "*google*" 使用通配符就可以方便查找了。
2. 如何卸载某个软件?
$ sudo apt-get --purge remove <programname>
purge表示彻底删除。
3. 如果想删除apt-get下载的某个软件安装包呢?
Ubuntu 中apt-get下载的安装包放在/var/cache/apt/archives里。所以可以在这个路径下删除。
或者使用以下命令:
$ apt-get autoclean
这个命令将已经删除了的软件包的.deb安装文件从硬盘中删除掉。
$ apt-get clean
这会把你已安装的软件包的安装包也删除掉。
·
转载于:https://www.cnblogs.com/KK150713/p/7508918.html
Linux学习记录-----《快乐的Linux命令行》.相关推荐
- Linux学习记录 Day1(常用命令)
文章目录 Day 1 Linux简介 打开终端页面 Shell简介 在Shell中执行命令 命令行提示符 用户登录 命令帮助 文件操作 目录分析 文件与目录操作 重定向 输出重定向 管道 tee 用户 ...
- Linux学习记录-01(Linux系统发展史)
对计算机一直感觉很神秘,想要学习,奈何不是计算机专业出身,最近决定开始学习,也算是充实一下自己,希望自己可以坚持下去. 一.Linux系统 Linux是一套免费使用和自由传播的类Unix操作系统,是一 ...
- 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- Linux学习系列二:Linux中的常用命令
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
- Linux学习记录(二)QEMU安装与Linux内核环境搭建
Linux学习记录(二) 记录本人学习的过程和遇到的问题 QEMU安装与Linux内核环境搭建 Linux学习记录(二) 一.QEMU安装 1.什么是QEMU 2.QEMU安装 二.Linux内核环境 ...
- 每个 Linux 用户都应该知道的命令行技巧
每个 Linux 用户都应该知道的命令行技巧 原创 2015-09-11 伯乐在线 程序员的那些事 [伯乐在线导读]:有网友在问答网站Quora上提问:"有哪些省时小技巧,是每个Linux用 ...
- Linux学习笔记(一):Linux常用命令
linux学习笔记(一):Linux常用命令 ctrl + l 清屏 clear crtl + c 终止操作 Linux常用命令 文件处理命令 ls:list 功能:显示目录文件 选项: -a 显示所 ...
- Linux学习系列五:Shell命令脚本的基本语法
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
- Linux学习-59-备份还原数据命令(dump、restore、dd命令)
13.5 dump命令用法详解:备份分区.文件或目录 dump 命令使用"备份级别"来实现增量备份,它支持 0-9 共 10 个备份级别.其中,0 级别指的就是完全备份,1-9 级 ...
- 我的Linux学习记录(蓝桥)————用户及文件权限管理
我的Linux学习记录(蓝桥)三 Linux 是一个可以实现多用户登录的操作系统,比如"李雷"和"韩梅梅"都可以同时登录同一台主机,他们共享一些主机的资源,但他 ...
最新文章
- 浏览器缓存和webpack缓存配置
- 介绍一个好用的工具类库commons-beanutils
- 安装rocketmq并配置管理界面
- How to resolve empty table CRMATAB issue in ERP gt_crmtab[]
- 案例 实现文件读写器 c# 1614523907
- JAVA SAX解析XML文档
- C#获取网页内容的三种方式
- 笔记_深度学习相关_PyTorch
- 在free bsd上跑JMeter 的 plugin PerfMon Server Agent
- Junit +cucumber 运行报错 initiallizationError
- 网络安全职业_如何开始网络安全职业
- python爬虫时爬取的html代码显示“请开启JavaScript并刷新该页”
- 我的日程安排表 II
- 丁磊一份隔着万水千山的爱情
- 字符串分割和数组组合(spilt,join)
- python有趣小程序 表白-python表白小程序
- ffmpeg批量处理视频和音频合成
- 我糟糕的2019年:虽流年不利,但我心仍坚定
- 科研人必备论文小技巧——word分分钟自动修改插入的参考文献、附图和表格的插入技巧
- 普通函数和箭头函数中的this指向
热门文章
- 如何在Android模拟器上安装和卸载APK程序包
- 图像拾取点_10分钟看懂Photoshop 照片修饰(用“消失点”滤镜编辑照片)
- Linux 认证考试:精解Linux find命令的使用linuxfindnam
- 定时任务--mysql数据库备份
- JavaScript 原型链学习(二)原型的动态性
- 一篇关于Maven项目的jar包Shell启动脚本
- 洛谷 P1004 方格取数 【多线程DP/四维DP/】
- 我们用4行代码节省了100万 记录与阿里云PCDN相遇全过程
- java---switch
- 使用css3制作正方形、三角形、扇形和饼状图