101 Ubuntu

思沃学院第一期学习任务 101 总结

Ubuntu历史

Ubuntu是世界最受欢迎完全开源的操作系统之一
详细描述 : ubuntu维基百科

快捷键学习

常用快捷键

Ctrl+Alt+F1:进入终端界面。
Ctrl+Alt+F7:回到图形界面。
Ctrl+Alt+T:进入伪终端,当然我们的大部分操作只需要在伪终端下操作即可。
Ctrl+D:关闭伪终端。
Ctrl+Alt+L:锁屏。

终端常用快捷键

Shift+Pageup/Page down:向上向下翻页
Tab:命令补全功能
Ctrl+Shift+c:复制
Ctrl+Shift+v:粘贴
Ctrl+a:移动到当前行开始位置
Ctrl+e:移动到当前行结尾
Ctrl+k:删除此处至末尾所有内容
Ctrl+u:删除此处至开始所有内容
Ctrl+l:刷新屏幕
Ctrl+c:杀死当前任务
Ctrl+s:挂起当前shell
Ctrl+q:重新启用挂起的shell
Alt+u:把当前词转化为大写
Alt+l:把当前词转化为小写
Alt+c:把当前词变成首字母大写
[参考]:文/TW安洋(简书作者)

常用命令学习

  • ls - List
    ls列出当前工作目录内容
➜  ~ ls
Book       examples.desktop    Music           Public            wince3+1
Desktop    gradle-2.9-bin.zip  newRamlProject  Templates
Documents  IdeaProjects        pdf             Videos
Downloads  logs                Pictures        WebstormProjects
  • mkdir - Make Directory
    mkdir <new-directory-name> 创建一个新的文件夹
➜  ~ mkdir newDir
➜  ~ ls
Book       examples.desktop    Music           Public            wince3+1
Desktop    gradle-2.9-bin.zip  newRamlProject  Templates           newDir
Documents  IdeaProjects        pdf             Videos
Downloads  logs                Pictures        WebstormProjects

  • pwd – Print Working Directory
    pwd 显示当前工作目录
➜  ~ pwd
/home/zhyingjia

  • cd – Change Directory
    cd <directory-name>进入某一文件目录
➜  ~ cd newDir 
➜  newDir pwd
/home/zhyingjia/newDir

  • rmdir – Remove Directory
    rmdir <directory-name>删除给定的目录
➜  ~ rmdir newDir 
➜  ~ ls
Book       examples.desktop    Music           Public            wince3+1
Desktop    gradle-2.9-bin.zip  newRamlProject  Templates
Documents  IdeaProjects        pdf             Videos
Downloads  logs                Pictures        WebstormProjects
  • rm – Remove
    rm <file-name>删除给定的文件或文件夹
    rm -r <directory-name>递归删除文件夹
➜  newDir mkdir content
➜  newDir ls
content
➜  newDir cd ../
➜  ~ rmdir newDir 
rmdir: failed to remove 'newDir': Directory not empty
➜  ~ rm newDir 
rm: cannot remove 'newDir': Is a directory
➜  ~ rm -r newDir 
➜  ~ ls
Book       examples.desktop    Music           Public            wince3+1
Desktop    gradle-2.9-bin.zip  newRamlProject  Templates
Documents  IdeaProjects        pdf             Videos
Downloads  logs                Pictures        WebstormProjects

  • cp – Copy
    cp <source-file> <destination-file>对文件进行复制
    cp -r <source-folder> <destination-folder> 对文件夹进行递归复制
➜  newDir touch file1.txt
➜  newDir ls
content  file1.txt
➜  newDir cp file1.txt file2.txt
➜  newDir ls
content  file1.txt  file2.txt

➜  newDir ls
content  file1.txt  file2.txt
➜  newDir cp file2.txt content 
➜  newDir ls
content  file1.txt  file2.txt
➜  newDir cd content 
➜  content ls
file2.txt
  • mv – MoVe
    mv <source> <destination> 对文件或文件夹进行移动 / 重命名
➜  newDir ls
content  file2.txt
➜  newDir cd content 
➜  content ls
➜  content cd ../

//  重命名
➜  newDir mv file2.txt file.txt
➜  newDir ls
content  file.txt

//  移动
➜  newDir mv file.txt content 
➜  newDir ls
content
➜  newDir cd content 
➜  content ls
file.txt
  • cat – concatenate and print files
    cat <file>用于在标准输出(监控器或屏幕)上查看文件内容
    Shift + PgUp 向上翻页
    Shift + PgDn 向下翻页
➜  content ls            
file.txt
➜  content cat file.txt 
0 file test data
1 file test data
2 file test data
3 file test data
4 file test data
5 file test data
6 file test data
7 file test data
8 file test data
9 file test data
10 file test data
11 file test data
12 file test data
13 file test data


  • 10.tail – print TAIL (from last) >
    tail <file-name>默认在标准输出上显示给定文件的最后10行内容
    tail -n N <file-name>指定在标准输出上显示文件的最后N行内容
➜  content tail file.txt 
4 file test data
5 file test data
6 file test data
7 file test data
8 file test data
9 file test data
10 file test data
11 file test data
12 file test data
13 file test data
➜  content tail file.txt -n 3
11 file test data
12 file test data
13 file test data

  • less – print LESS
    less <file-name>按页或按窗口打印文件内容。在查看包含大量文本数据的大文件时是非常有用和高效的。
    Ctrl+F向前翻页
    Ctrl+B向后翻页

  • grep
    grep "<string>" <file-name>在给定的文件中搜寻指定的字符串
    grep -i "<string>" <file-name>在搜寻时会忽略字符串的大小写
    grep -r "<string>" <file-name>在当前工作目录的文件中递归搜寻指定的字符串

➜  ~ grep "1 f" newDir/content/file.txt
1 file test data
11 file test data

➜  ~ grep "0 File" newDir/content/file.txt

➜  ~ grep "0 File" -i newDir/content/file.txt
0 file test data
10 file test data
➜  ~ cd newDir 

➜  newDir grep "0 File" -i -r 
content/file.txt:0 file test data
content/file.txt:10 file test data
  • Find
    find <folder-to-search> -name <file-name>在给定位置搜寻与条件匹配的文件(区分大小写)
    find <folder-to-search> -iname <file-name>在给定位置搜寻与条件匹配的文件(不区分大小写)
➜  ~ find newDir -name content
newDir/content
➜  ~ find newDir -iname Content
newDir/content

  • tar(打包)
    tar -cvf <archive-name.tar> <file1-OR-file2-OR-both-to-archive>打包对应文件/目录
    tar -tvf <archive-to-view.tar>来查看打包文件的内容
    tar -xvf <archive-to-extract.tar>来提取对应打包文件内容
➜  newDir ls
content
➜  newDir tar -cvf content.tar content 
content/
content/file.txt
➜  newDir ls
content  content.tar

➜  newDir tar -tvf content.tar
drwxrwxr-x zhyingjia/zhyingjia 0 2016-12-09 22:22 content/
-rw-rw-r-- zhyingjia/zhyingjia 242 2016-12-09 22:22 content/file.txt

➜  newDir rm -rf content
➜  newDir ls
content.tar
➜  newDir tar -xvf content.tar 
content/
content/file.txt
➜  newDir ls
content  content.tar
  • gzip(压缩)
    gzip <filename>创建压缩文件
    gzip -d <filename>提取压缩文件
➜  content ls
file.txt
➜  content gzip file.txt 
➜  content ls
file.txt.gz
➜  content gzip -d file.txt.gz 
➜  content ls
file.txt

  • zip(压缩)
    zip archive-name.zip filename 压缩一个文件
    zip -r archive-name.zip directory-name递归压缩一个目录
➜  content zip file.zip file.txt 
  adding: file.txt (deflated 100%)
➜  content ls
file.txt  file.zip
➜  content cd ../
➜  newDir ls
content
➜  newDir zip -r content.zip content 
  adding: content/ (stored 0%)
  adding: content/file.zip (stored 0%)
  adding: content/file.txt (deflated 100%)
➜  newDir ls
content  content.zip
  • unzip(解压缩)
    unzip <archive-to-extract.zip>对.zip文档进行解压
    在解压之前,可以使用unzip -l <archive-to-extract.zip>
    命令查看文件内容
// 因为解压的时候会有命名冲突,因此将content.zip移动到content下进行操作
➜  newDir mv content.zip content/
➜  newDir ls
content
➜  newDir cd content 
➜  content ls
content.zip  file.txt  file.zip
➜  content unzip -l content.zip 
Archive:  content.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2016-12-10 13:20   content/
      193  2016-12-10 13:20   content/file.zip
    10240  2016-12-10 13:05   content/file.txt
---------                     -------
    10433                     3 files
➜  content unzip content.zip 
Archive:  content.zip
   creating: content/
 extracting: content/file.zip        
  inflating: content/file.txt        
➜  content ls
content  content.zip  file.txt  file.zip

  • help
    help会在终端列出所有可用的命令
    <command-name> --help查看该命令的具体用法
➜  ~ bash
zhyingjia@zhyingjia-Inspiron-5437:~$ help
GNU bash, version 4.3.46(1)-release (x86_64-pc-linux-gnu)
These shell commands are defined internally.  Type `help' to see this list.
Type `help name' to find out more about the function `name'.
Use `info bash' to find out more about the shell in general.
Use `man -k' or `info' to find out more about commands not in this list.

A star (*) next to a name means that the command is disabled.

 job_spec [&]                                                           history [-c] [-d offset] [n] or history -anrw [filename] or history>
 (( expression ))                                                       if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ >
... ...

zhyingjia@zhyingjia-Inspiron-5437:~$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
... ... 

zhyingjia@zhyingjia-Inspiron-5437:~$ zsh
➜  ~ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
... ...

  • whatis – What is this command
    whatis <command-name>会用单行来描述给定的命令。
➜  ~ whatis ls
ls (1)               - list directory contents
➜  ~ whatis man
man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals

  • man – Manual
    man <command-name>会为给定的命令显示一个手册页面
LS(1)                                                          User Commands                                                          LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is
       specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..
... ... 
  • exit
    exit用于结束当前的终端会话 : 即关闭当前终端
    Ctrl+D退出当前终端

  • ping
    ping <remote-host-address>通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。

➜  ~ ping www.jianshu.com
PING www.jianshu.com (106.75.2.241) 56(84) bytes of data.
64 bytes from 106.75.2.241: icmp_seq=1 ttl=50 time=20.1 ms
64 bytes from 106.75.2.241: icmp_seq=2 ttl=50 time=20.4 ms
64 bytes from 106.75.2.241: icmp_seq=3 ttl=50 time=19.9 ms
64 bytes from 106.75.2.241: icmp_seq=4 ttl=50 time=19.7 ms
64 bytes from 106.75.2.241: icmp_seq=5 ttl=50 time=22.7 ms
64 bytes from 106.75.2.241: icmp_seq=6 ttl=50 time=19.8 ms

  • who – Who Is logged in
    who列出当前登录的用户名
➜  ~ who
zhyingjia tty7         2016-12-10 12:28 (:0)
zhyingjia tty2         2016-12-10 13:44
  • su – Switch User
    su <username>用于切换不同的用户
    即使没有使用密码,超级用户也能切换到其它用户
➜  ~ su user1
Password: 
user1@zhyingjia-Inspiron-5437:/home/zhyingjia$ 
  • How to create a user?
➜  ~ sudo useradd user1      // 使用管理员权限,创建一个用户: sudo useradd <username>

➜  ~ sudo passwd user1       // 使用管理员权限,修改用户密码 sudo passwd <username>
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

➜  ~ cd ../                            // 在home目录下使用管理员创建对应工作目录sudo  mkdir <username>
➜  /home ls
zhyingjia
➜  /home sudo mkdir user1
➜  /home ls
user1  zhyingjia

创建成功

➜  /home cd                        // 切换用户 su <username>
➜  ~ su user1
Password: 
user1@zhyingjia-Inspiron-5437:/home/zhyingjia$ 
  • How to delete a user?
Ctrl + D 退出当前 user1 用户终端
Ctrl + T 打开新终端

➜  ~ sudo userdel user1                 // 使用管理员权限删除指定用户 sudo userdel <username>
[sudo] password for zhyingjia: 

➜  ~ cd ../                                        // 回到home目录下,使用管理员权限,删除对应用户目录  sudo rm -rf <delusername>
➜  /home ls
user1  zhyingjia
➜  /home sudo rm -rf user1
➜  /home ls
zhyingjia
➜  /home 

删除完成
  • uname
    uname显示出关于系统的重要信息,如内核名称、主机名、内核版本、处理机类型等等
    uname -a可以查看所有信息
➜  ~ uname
Linux
➜  ~ uname -a
Linux zhyingjia-Inspiron-5437 4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • free – Free memory
    free 显示出系统的空闲内存、已经占用内存、可利用的交换内存等信息
    free -m 将结果中的单位转换成KB
    free –g 则转换成GB
➜  ~ free
              total        used        free      shared  buff/cache   available
Mem:        8077760     1424756     4778536      314972     1874468     6018344
Swap:             0           0           0
➜  ~ free -m
              total        used        free      shared  buff/cache   available
Mem:           7888        1391        4667         306        1829        5877
Swap:             0           0           0
➜  ~ free -g
              total        used        free      shared  buff/cache   available
Mem:              7           1           4           0           1           5
Swap:             0           0        

  • df – Disk space Free
    df查看文件系统中磁盘的使用情况 : 硬盘已用、可用的存储空间以及其它存储设备
    df -h将结果以人类可读的方式显示
➜  ~ df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             4018760        0   4018760   0% /dev
tmpfs             807776     9732    798044   2% /run
/dev/sda1      144103744 27505216 109255224  21% /
tmpfs            4038880    20352   4018528   1% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            4038880        0   4038880   0% /sys/fs/cgroup
tmpfs             807776       56    807720   1% /run/user/1000
➜  ~ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           789M  9.6M  780M   2% /run
/dev/sda1       138G   27G  105G  21% /
tmpfs           3.9G   20M  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           789M   56K  789M   1% /run/user/1000
  • ps – ProcesseS
    ps 显示系统的运行进程
➜  ~ ps
  PID TTY          TIME CMD
 9065 pts/4    00:00:00 zsh
 9902 pts/4    00:00:00 zsh
10422 pts/4    00:00:00 ps
  • Top – TOP processes
    top 命令会默认按照CPU的占用情况,显示占用量较大的进程
    top -u <username> 查看某个用户的CPU使用排名情况
➜  ~ top

top - 14:08:07 up  2:15,  2 users,  load average: 0.08, 0.14, 0.12
Tasks: 242 total,   1 running, 241 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.7 us,  0.9 sy,  0.0 ni, 97.2 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8077760 total,  4771916 free,  1435888 used,  1869956 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  6011856 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
  934 root      20   0  377124  55856  41004 S   5.0  0.7   1:52.05 Xorg        
 9060 zhyingj+  20   0  588396  34860  27780 S   2.3  0.4   0:02.54 gnome-term+ 
 1885 zhyingj+  20   0 1542564 156032  73488 S   2.0  1.9   2:01.80 compiz      
 2528 zhyingj+  20   0  500092 122060  70992 S   0.3  1.5   1:38.04 chrome      
 4519 root      20   0       0      0      0 S   0.3  0.0   0:01.87 kworker/u8+ 
10460 zhyingj+  20   0   48976   4240   3540 R   0.3  0.1   0:00.01 top         
    1 root      20   0  185488   6124   3984 S   0.0  0.1   0:01.63 systemd     
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd    
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.04 ksoftirqd/0 
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:+ 
    7 root      20   0       0      0      0 S   0.0  0.0   0:05.16 rcu_sched  
... ...
  • shutdown
    shutdown 用于关闭计算机
    shutdown -r 用于重启计算机

[参考]:29个你必须知道的Linux命令

总结 + 感受

  • 快捷键比较方便,好好练习使用快捷键
  • 基本命令需要掌握参数含义
  • 有时间应该多了解一下Ubuntu操作系统吧 _

参考

  • 参考出处已注明

学习资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容