Linux Command Line learning
https://www.codecademy.com/en/courses/learn-the-command-line
Background
The command line is a text interface for your computer. It's a program that takes in commands, which it passes on to the computer's operating system to run.
From the command line, you can navigate through files and folders on your computer, just as you would with Windows Explorer on Windows or Finder on Mac OS. The difference is that the command line is fully text-based.
Here's an appendix of commonly used commands.
Commands
>
$ cat oceans.txt > continents.txt
> takes the standard output of the command on the left, and redirects it to the file on the right.
>>
$ cat glaciers.txt >> rivers.txt
>> takes the standard output of the command on the left and appends (adds) it to the file on the right.
<
$ cat < lakes.txt
< takes the standard input from the file on the right and inputs it into the program on the left.
|
$ cat volcanoes.txt | wc
| is a "pipe". The | takes the standard output of the command on the left, and pipes it as standard input to the command on the right. You can think of this as "command to command" redirection.
~/.bash_profile
$ nano ~/.bash_profile
~/.bash_profile is the name of file used to store environment settings. It is commonly called the "bash profile". When a session starts, it will load the contents of the bash profile before executing commands.
alias
alias pd="pwd"
The alias command allows you to create keyboard shortcuts, or aliases, for commonly used commands.
cd
cd Desktop/
cd takes a directory name as an argument, and switches into that directory.
$ cd jan/memory
To navigate directly to a directory, use cd with the directory's path as an argument. Here, cd jan/memory/ command navigates directly to the jan/memory directory.
cd ..
$ cd ..
To move up one directory, use cd ... Here, cd .. navigates up from jan/memory/ to jan/.
cp
$ cp frida.txt historical/
cp copies files or directories. Here, we copy the file lincoln.txt and place it in the historical/ directory
Wildcards
$ cp * satire/
The wildcard * selects in the working directory, so here we use cp to copy all files into the satire/ directory.
$ cp m*.txt scifi/
Here, m*.txt selects all files in the working directory starting with "m" and ending with ".txt", and copies them to scifi/.
env
env
The env command stands for "environment", and returns a list of the environment variables for the current user.
env | grep VARIABLE
env | grep PATH
env | grep PATH is a command that displays the value of a single environment variable.
export
export USER="Jane Doe"
export makes the variable to be available to all child sessions initiated from the session you are in. This is a way to make the variable persist across programs.
grep
$ grep Mount mountains.txt
grep stands for "global regular expression print". It searches files for lines that match a pattern and returns the results. It is case sensitive.
grep -i
$ grep -i Mount mountains.txt
grep -i enables the command to be case insensitive.
grep -R
$ grep -R Arctic /home/ccuser/workspace/geography
grep -R searches all files in a directory and outputs filenames and lines containing matched results. -R stands for "recursive".
grep -Rl
$ grep -Rl Arctic /home/ccuser/workspace/geography
grep -Rl searches all files in a directory and outputs only filenames with matched results. -R stands for "recursive" and l stands for "files with matches".
HOME
$ echo $HOME
The HOME variable is an environment variable that displays the path of the home directory.
ls
$ ls
2014 2015 hardware.txt
ls lists all files and directories in the working directory
ls -a
ls -a
. .. .preferences action drama comedy genres.xt
ls -a lists all contents in the working directory, including hidden files and directories
ls -l
ls -l
drwxr-xr-x 5 cc eng 4096 Jun 24 16:51 action
drwxr-xr-x 4 cc eng 4096 Jun 24 16:51 comedy
drwxr-xr-x 6 cc eng 4096 Jun 24 16:51 drama
-rw-r--r-- 1 cc eng 0 Jun 24 16:51 genres.txt
ls -l lists all contents of a directory in long format. Here's what each column means.
ls -t
ls -t orders files and directories by the time they were last modified.
mkdir
$ mkdir media
mkdir takes in a directory name as an argument, and then creates a new directory in the current working directory. Here we used mkdir to create a new directory named media/.
mv
$ mv superman.txt superhero/
To move a file into a directory, use mv with the source file as the first argument and the destination directory as the second argument. Here we move superman.txt into superhero/.
nano
$ nano hello.txt
nano is a command line text editor. It works just like a desktop text editor like TextEdit or Notepad, except that it is accessible from the the command line and only accepts keyboard input.
PATH
$ echo $PATH
/home/ccuser/.gem/ruby/2.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
PATH is an environment variable that stores a list of directories separated by a colon. Each directory contains scripts for the command line to execute. PATH lists which directories contain scripts.
pwd
$ pwd
/home/ccuser/workspace/blog
pwd prints the name of the working directory
rm
$ rm waterboy.txt
rm deletes files. Here we remove the file waterboy.txt from the file system.
rm -r
$ rm -r comedy
rm -r deletes a directory and all of its child directories.
sed
$ sed 's/snow/rain/' forests.txt
sed stands for "stream editor". It accepts standard input and modifies it based on an expression, before displaying it as output data.
In the expression 's/snow/rain/':
s: stands for "substitution".snow: the search string, the text to find.rain: the replacement string, the text to add in place.
sort
$ sort lakes.txt
sort takes the standard input and orders it alphabetically for the standard output.
standard error
standard error, abbreviated as stderr, is an error message outputted by a failed process.
source
source ~/.bash_profile
source activates the changes in ~/.bash_profile for the current session. Instead of closing the terminal and needing to start a new session, source makes the changes available right away in the session we are in.
standard input
standard input, abbreviated as stdin, is information inputted into the terminal through the keyboard or input device.
standard output
standard output, abbreviated as stdout, is the information outputted after a process is run.
touch
$ touch data.tx
touch creates a new file inside the working directory. It takes in a file name as an argument, and then creates a new empty file in the current working directory. Here we used touch to create a new file named keyboard.txt inside the 2014/dec/ directory.
If the file exists, touch is used to update the modification time of the file
uniq
$ sort lakes.txt
sort takes the standard input and orders it alphabetically for the standard output.
Linux Command Line learning的更多相关文章
- 10 Interesting Linux Command Line Tricks and Tips Worth Knowing
I passionately enjoy working with commands as they offer more control over a Linux system than GUIs( ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- Linux Command Line Basics
Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...
- Linux Command Line 解析
Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...
- 15 Examples To Master Linux Command Line History
When you are using Linux command line frequently, using the history effectively can be a major produ ...
- Reso | The Linux Command Line 的中文版
http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
- [笔记]The Linux command line
Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...
随机推荐
- 关于第一次STM32连接电脑下载程序
安装了Keil(ARM)版本之后,不管是自己编程,还是配套的程序运行.我们都想把它下载到STM32芯片里面,在板子上运行.这里介绍几种方法. 1.用J-LINK下载调试. 这个工具,可以直接点击kei ...
- 表达式求值(二叉树方法/C++语言描述)(二)
表达式二叉树节点的数据可能是运算数或运算符,可以使用一个联合体进行存储:同时还需要一个变量来指示存储的是运算数还是运算符,可以采用和栈方法求值中一样的枚举类型TokenType: typedef en ...
- RabbitMQ入门-Topic模式
上篇<RabbitMQ入门-Routing直连模式>我们介绍了可以定向发送消息,并可以根据自定义规则派发消息.看起来,这个Routing模式已经算灵活的了,但是,这还不够,我们还有更加多样 ...
- Open-Falcon第四步安装Graph(小米开源互联网企业级监控系统)
安装Graph graph组件是存储绘图数据.历史数据的组件.transfer会把接收到的数据,转发给graph. cd /usr/local/open-falcon/graph mv cfg.exa ...
- Java 垃圾回收算法
在之前Java 运行期数据区一文中,介绍了运行时内存的各个部分.其中程序计数器.虚拟机栈.本地方法栈都随线程消亡,所以,这几个区域的内存分配和回收都具备确定性.而 Java 堆和方法区不同,我们只有在 ...
- Android service 服务的应用之电话监听器以及短信监听器
首先建立一个项目工程文件,如下图所示:
- Java微信公众平台开发之OAuth2.0网页授权
根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...
- 【机器学习笔记之四】Adaboost 算法
本文结构: 什么是集成学习? 为什么集成的效果就会好于单个学习器? 如何生成个体学习器? 什么是 Boosting? Adaboost 算法? 什么是集成学习 集成学习就是将多个弱的学习器结合起来组成 ...
- Thinkphp5 用ab压力测试工具测试高并发请求
上篇文章[Thinkphp5实现悲观锁]已介绍过thinkphp5使用悲观锁实现高并发的场景,这篇文章将实际测试下. 在shell里进入到apache的bin目录,输入以下url: ab -n 100 ...
- python学习之数字
数字python中的数字比较典型,典型在可以表示很小的数,也可以表示很大的数,c语言的数字类型如果表示很大的数的话,可能会报溢出错误,但是python不会,python 数字类型的完整工具包括整数和浮 ...