linux命令

2018/08/25 linux

查看当前操作系统版本信息

cat /proc/version

比如可是使用 –help 查看帮助选项。如 ls --help

进程

ps

ps命令用于显示当前进程 (process) 的状态。 ps [options] [–help]

常见参数:

********* simple selection *********  ********* selection by list *********
-A all processes                      -C by command name
-N negate selection                   -G by real group ID (supports names)
-a all w/ tty except session leaders  -U by real user ID (supports names)
-d all except session leaders         -g by session OR by effective group name
-e all processes                      -p by process ID
T  all processes on this terminal     -s processes in the sessions given
a  all w/ tty, including other users  -t by tty
g  OBSOLETE -- DO NOT USE             -u by effective user ID (supports names)
r  only running processes             U  processes for specified users
x  processes w/o controlling ttys     t  by tty
*********** output format **********  *********** long options ***********
-o,o user-defined  -f full            --Group --User --pid --cols --ppid
-j,j job control   s  signal          --group --user --sid --rows --info
-O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-l,l long          u  user-oriented   --sort --tty --forest --version
-F   extra full    X  registers       --heading --no-heading --context
                    ********* misc options *********
-V,V  show version      L  list format codes  f  ASCII art forest
-m,m,-L,-T,H  threads   S  children in sum    -y change -l format
-M,Z  security data     c  true command name  -c scheduling class
-w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy
ps -A 显示进程信息
ps -ef //显示所有命令,连带命令行
ps -u root //显示root进程用户信息
ps  -aux     【列出目前所有的正在内存当中的程序,cpu、内存信息会显示出来】
ps -l 【将目前属于您自己这次登入的 PID 与相关信息列示出来】

ps -ef 显示出的结果: 1.UID 用户ID 2.PID 进程ID 3.PPID 父进程ID 4.C CPU占用率 5.STIME 开始时间 6.TTY 开始此进程的TTY—-终端设备 7.TIME 此进程运行的总时间 8.CMD 命令名

ps -aux

显示其他用户启动的进程(a) 查看系统中属于自己的进程(x) 启动这个进程的用户和它启动的时间(u)

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

传送门: https://note.youdao.com/ynoteshare1/index.html?id=375d4083028fc7100146955a7a34e35b&type=note

#top 任务队列信息。 11:15:26 当前系统时间;  up 67 days 已运行67天(不包含重启);1 user, 当前1个用户登录系统;
#load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
top - 11:15:26 up 67 days,  1:20,  1 user,  load average: 0.12, 0.09, 0.07   

#Tasks — 任务(进程)。系统现在共有156个进程,其中处于运行中的有1个,155个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
Tasks: 156 total,   1 running, 155 sleeping,   0 stopped,   0 zombie

#cpu状态信息。0。3%us — 用户空间占用CPU的百分比;0.7 sy 内核空间占用CPU的百分比;0.0 ni 改变过优先级的进程占用CPU的百分比; 99.0 id 空闲CPU百分比; 0.0 wa IO等待占用CPU的百分比;0.0 hi, 硬中断(Hardware IRQ)占用CPU的百分比;0.0 si 软中断(Software Interrupts)占用CPU的百分比;
%Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
#内存状态.  1883492 total 物理内存总量(1GB)
KiB Mem :  1883492 total,   107484 free,   824912 used,   951096 buff/cache
#swap交换分区信息。0 total 交换区总量
KiB Swap:        0 total,        0 free,        0 used.   474816 avail Mem

#各进程(任务)的状态监控。USER — 进程所有者;PR — 进程优先级;VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES;RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
#SHR — 共享内存大小,单位kb;S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程;%CPU — 上次更新到现在的CPU时间占用百分比;%MEM — 进程使用的物理内存百分比;
#TIME+ — 进程使用的CPU时间总计,单位1/100秒;COMMAND — 进程名称(命令名/命令行)
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1244 root      20   0  376856  20428   1512 S  0.7  1.1  52:06.57 docker-containe
 2324 polkitd   20   0 1379480 400604    200 S  0.3 21.3 371:24.52 mysqld
    1 root      20   0   43424   2956   1652 S  0.0  0.2   4:23.29 systemd                         
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.23 kthreadd                    

free

free专门用来查看内存,包括物理内存和虚拟内存swap。

              total        used        free      shared  buff/cache   available
Mem:        1883492     1219616       78184      390496      585692       86828
Swap:             0           0           0

free -g 显示G单位

df

查看系统中磁盘的使用量,用来查看磁盘是否已经达到上线。 -h 可以以友好的方式展示。

$ df -h

文件系统          容量   已用  可用   已用%  挂载点
/dev/vda1        40G   13G   25G   34%   /
devtmpfs        911M     0  911M    0%   /dev
tmpfs           920M     0  920M    0%   /dev/shm
tmpfs           920M  1.7M  918M    1%   /run
tmpfs           920M     0  920M    0%   /sys/fs/cgroup
overlay          40G   13G   25G   34%   /var/lib/docker/overlay2/30dcea161d61002bc88241380ef19560797eb86a9640f049567d0a2b06cd16a3/merged

nohup 不挂断的运行命令

nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup Command [ Arg … ] [ & ]

无论是否将 nohup 命令的输出重定向到终端,输出将附加到当前目录的 nohup.out 文件中。

  如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

  如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:      126 可以查找但不能调用 Command 参数指定的命令。      127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。      否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

& 在后台运行

如: nohup command > myout.file 2>&1 &

jobs

查看当前有多少在后台运行的命令

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。

想杀掉某个后台进程,可执行kill PID

文件和目录管理

创建和删除

  • 创建:mkdir # make dir

    mkdir -p dir # 如果已存在目录将跳过

  • 删除:rm # remove

  • 删除非空目录:rm -rf file目录

  • 删除日志 rm log (等价: $find ./ -name “log” -exec rm {} ;)

  • 移动:mv # move

  • 复制:cp (复制目录:cp -r )

  • 创建文件 touch

查看

  • 显示当前目录下的文件 ls
  • 按时间排序,以列表的方式显示目录项 ls -lrt
ls -l
  • pwd 终端当前目录

查看文件内容 cat 可以加more 、less控制输出的内容的大小

cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用

cat [选项] [文件].

cat主要有三大功能:

1.一次显示整个文件:cat filename

2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

3.将几个文件合并为一个文件:cat file1 file2 > file

命令参数:

-A, --show-all           等价于 -vET

-b, --number-nonblank    对非空输出行编号

-e                       等价于 -vE

-E, --show-ends          在每行结束处显示 $

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 

-t                       与 -vT 等价

-T, --show-tabs          将跳格字符显示为 ^I

-u                       (被忽略)

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
cat a.text
cat a.text | more
cat a.text| less

cat a.text | grep  'walkingsun'   # 查找匹配walkingsun内容

cat request_wx.log |grep P201908050012 -C 10  # 查找匹配P201908050012内容前后10行 【详情看下grep命令】

cat request_wx.log |grep P201908050012 -B 5  # 查找匹配P201908050012内容前5行

cat request_wx.log |grep P201908050012 -A 5  # 查找匹配P201908050012内容后5行

more命令 类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上

more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

 more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

命令参数:

 +n      从笫n行开始显示

 -n       定义屏幕大小为n行

 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

 -c       从顶部清屏,然后显示

 -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

 -l        忽略Ctrl+l(换页)字符

 -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

 -s       把连续的多个空行显示为一行

 -u       把文件内容中的下画线去掉

常用操作命令:

Enter    向下n行,需要定义。默认为1行

Ctrl+F   向下滚动一屏

空格键  向下滚动一屏

Ctrl+B  返回上一屏

=       输出当前行的行号

:f     输出文件名和当前行的行号

V      调用vi编辑器

!命令   调用Shell,并执行命令

q       退出more

less指令 对文件或其它输出进行分页显示的工具

使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

less [参数]  文件

参数:

-b <缓冲区大小> 设置缓冲区的大小

-e  当文件显示结束后,自动离开

-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g  只标志最后搜索的关键词

-i  忽略搜索时的大小写

-m  显示类似more命令的百分比

-N  显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q  不使用警告音

-s  显示连续空行为一行

-S  行过长时间将超出部分舍弃

-x <数字> 将“tab”键显示为规定的数字空格

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b  向后翻一页

d  向后翻半页

h  显示帮助界面

Q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

tail

tail -f access.log # 如查看nginx的滚动日志

tail -n100 access.log   # 查看文件的最后n行
   
head -n100 access.log   # head命令查看文件头n行,但head没有滚动功能

tail -n +1000 access.log # 从1000行开始显示,显示1000行以后的

编码设置

  • 查看编码vim
    :set fileencoding
    
  • Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 :set fileencoding=utf-8

  • iconv
    iconv -f encoding -t encoding inputfile
    

比如将一个UTF-8 编码的文件转换成ASCII编码 iconv -f UTF-8 -t US-ASCII file1 -o file2

权限

  • 改变文件的拥有者 chown
  • 改变文件读、写、执行等属性 chmod
  • 递归子目录修改: chown -R tuxapp source/
  • 增加脚本可执行权限: chmod a+x myscript
    chmod [-cfvR] [--help] [--version] mode file...
    
    1. chmod 能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)
    2. chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限 #修改权限
  • sudo chmod 600 ××× (只有所有者有读和写的权限)

  • sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)

  • sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)

  • sudo chmod 666 ××× (每个人都有读和写的权限)

  • sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

更改权限

  1. chmod 能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)
  2. chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限

文件权限查看及设定

``` ls -l filename //查看文件权限

ls -ld foldername //查看文件夹权限


### 文件搜索

find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录 find / -user user1 搜索属于用户 ‘user1’ 的文件和目录 find /home/user1 -name *.bin 在目录 ‘/ home/user1’ 中搜索带有’.bin’ 结尾的文件 find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 find / -name *.rpm -exec chmod 755 ‘{}’ \; 搜索以 ‘.rpm’ 结尾的文件并定义其权限 find / -xdev -name *.rpm 搜索以 ‘.rpm’ 结尾的文件,忽略光驱、捷盘等可移动设备 locate *.ps 寻找以 ‘.ps’ 结尾的文件 - 先运行 ‘updatedb’ 命令 whereis halt 显示一个二进制文件、源码或man的位置 which halt 显示一个二进制文件或可执行文件的完整路径

查询nginx配置文件 

locate nginx.conf


### 挂载一个文件系统

mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在 umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出 fuser -km /mnt/hda2 当设备繁忙时强制卸载 umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 mount /dev/fd0 /mnt/floppy 挂载一个软盘 mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享


### 管道和重定向

- 批处理命令连接执行,使用 |
- 串联: 使用分号 ;
- 前面成功,则执行后面一条,否则,不执行:&&
- 前面失败,则后一条执行: ||

```shell
ls /proc && echo  suss! || echo failed.

想快速清空一个文件或者log的内容


- #echo "" > test.txt(文件大小被截为1字节)
- \# > test.txt(文件大小被截为0字节)
- #cat /dev/null > test.txt(文件大小被截为0字节)

tee 双向重定向

2>&1 | tee log.txt

tee是linux中的管道命令,用来双向重定向

2>&1是数据流重定向,将正确和错误的结果同时输出

文本处理

所在目录查找内容

grep -rn "hello,world!" ./
./ : 表示路径为当前目录.
-r 是递归查找
-n 是显示行号

文件查找 find

find 参数很多,本文只介绍几个常用的

-name 按名字查找

-type 按类型

-atime 访问时间

find . -atime 7 -type f -print
find . -type d -print  //只列出所有目录
find / -name "hello.c" 查找hello.c文件

文本查找 grep

grep match_patten file // 默认访问匹配行

常用参数

  • -o 只输出匹配的文本行 VS -v 只输出没有匹配的文本行

  • -c 统计文件中包含文本的次数

    grep -c “text” filename

  • -n 打印匹配的行号

  • -i 搜索时忽略大小写

  • -l 只打印文件名

  • –color 支持在终端可以打印彩色

查看某个异常前后相关的内容,使用ABC参数。

  • A after 内容后n行

  • B before 内容前n行

  • C count? 内容前后n行

grep -rn --color Exception -A10 -B2   error.log

grep "class" . -R -n # 在多级目录中对文本递归搜索(程序员搜代码的最爱)
cat LOG.* | tr a-z A-Z | grep "FROM " | grep "WHERE" > b #将日志中的所有带where条件的sql查找查找出来

# 查找关键字并展示首尾前4行
cat /opt/app/supervisor/logs/promotion-work-record.log|grep success -A4 -B4

文本替换 sed

sed [options] 'command' file(s)
  • 首处替换
sed 's/text/replace_text/' file   //替换每一行的第一处匹配的text
  • 全局替换
sed 's/text/replace_text/g' file

默认替换后,输出替换后的内容,如果需要直接替换原文件,使用-i:

sed -i 's/text/repalce_text/g' file
  • 移除空白行
sed '/^$/d' file
sed 's/book/books/' file #替换文本中的字符串:
sed 's/book/books/g' file
sed '/^$/d' file #删除空白行

# sed pipeline; 将一个文件经过多次处理,处理结果输出到另一个文件
sed '/ /": "/' file \
sed '/^/"' \
sed '/$/",' > file2

数据流处理awk

详细教程可以查看 http://awk.readthedocs.io/en/latest/chapter-one.html

awk ' BEGIN{ statements } statements2 END{ statements } '

工作流程

1.执行begin中语句块;

2.从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕;

3.执行end语句块;

特殊变量

NR:表示记录数量,在执行过程中对应当前行号;

NF:表示字段数量,在执行过程中对应当前行的字段数;

$0:这个变量包含执行过程中当前行的文本内容;

$1:第一个字段的文本内容;

$2:第二个字段的文本内容;

awk '{print $2, $3}' file
# 日志格式:'$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'
#统计日志中访问最多的10个IP
awk '{a[$1]++}END{for(i in a)print a[i],i|"sort -k1 -nr|head -n10"}' access.log

执行awk程序的方式有多种。你可以输入如下形式的命令行::

awk ‘program’ input files

从而在每个指定的输入文件上执行这个program。

给定一个文本文件 file.txt,请只打印这个文件中的第十行。

示例:

假设 file.txt 有如下内容:

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

$ awk 'NR==10{print $0}' file.txt

排序 sort

  -b   忽略每行前面开始出的空格字符。
  -c   检查文件是否已经按照顺序排序。
  -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  -f   排序时,将小写字母视为大写字母。
  -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  -m   将几个排序好的文件进行合并。
  -M   将前面3个字母依照月份的缩写进行排序。
  -n   依照数值的大小排序。
  -o<输出文件>   将排序后的结果存入指定的文件。
  -r   以相反的顺序来排序。
  -t<分隔字符>   指定排序时所用的栏位分隔字符。
  +<起始栏位>-<结束栏位>   以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  --help   显示帮助。
  --version   显示版本信息
  • -k N 指定按第N列排序
sort -nrk 1 data.txt
sort -bd data // 忽略像空格之类的前导空白字符

# 输出nginx日志的ip和每个ip的pv,pv最高的前10
# 2019-06-26T10:01:57+08:00|nginx001.server.ops.pro.dc|100.116.222.80|10.31.150.232:41021|0.014|0.011|0.000|200|200|273|-|/visit|sign=91CD1988CE8B313B8A0454A4BBE930DF|-|-|http|POST|112.4.238.213
awk -F"|" '{print $3}' access.log | sort | uniq -c | sort -nk1 -r | head -n10

去重uniq

  • 消除重复行
sort unsort.txt | uniq

统计 wc

wc -l file // 统计行数
wc -w file // 统计单词数
wc -c file // 统计字符数

移动文件

mv [options] 源文件或目录 目标文件或目录

[options]主要参数

-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。

-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。

编辑 vi

vi一般用法 一般模式 | 编辑模式 | 指令模式 —|—|— h 左 | a,i,r,o,A,I,R,O | :w 保存 j 下 | 进入编辑模式 | :w! 强制保存 k 上 | dd 删除光标当前行 | :q! 不保存离开 l 右 | ndd 删除n行 | :wq! 保存后离开 0 移动到行首 | yy 复制当前行 | :e! 还原原始档 $ 移动到行尾 | nyy 复制n行 | :w filename 另存为 H 屏幕最上 | p,P 粘贴 | :set nu 设置行号 M 屏幕中央 | u 撤消 | :set nonu 取消行号 L 屏幕最下 | [Ctrl]+r 重做上一个动作 | ZZ 保存离开 G 档案最后一行 | [ctrl]+z 暂停退出 | :set nohlsearch 永久地关闭高亮显示

==vi 查找关键词== 命令模式下敲斜杆( /keywords ) 敲回车。 敲字符 n 翻到下一个。 vi模式下,gg返回顶部,shift+g到底部。

image

显示行号

方法一:
1、显示当前行行号,在VI的命令模式下输入
:nu
2、显示所有行号,在VI的命令模式下输入
:set nu
方法二:
使用vi编辑~/.vimrc文件,在该文件中加入一行"set nu",添加内容不含引号, 命令如下:
vi ~/.vimrc
方法三:
在UBUNTU中vi的配置文件存放在/etc/vim目录中,配置文件名为vimrc
在Fedora中vi的配置文件存放在/etc目录中,配置文件名为vimrc
在Red Hat Linux 中vi的配置文件存放在/etc目录中,配置文件名为vimrc
使用vi编辑该文件,在该文件中加入一行"set nu",添加内容不含引号。如Ubuntu命令:
vi /etc/vim/vimrc

基本命令

cd /home 进入 '/ home' 目录'
cd ..   返回上一级目录
cd ../..    返回上两级目录
cd  进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ll 列出该文件下的所有文件信息,包括隐藏的文件
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
ls -i    查询文件索引节点号的方法
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l 列出已知的编码
 fuser -a /mnt/cdrom   #查看挂载
 ps -ef |grep 26086c   #查看进程
 kill pid              #杀掉进程

网络

netstat

查看网络,如查看某个端口的tcp连接

netstat -anp | grep 9501

ssh

ssh隧道

scp

用来进行文件传输。也可以传输目录。也有更高级的sftp命令

scp a.txt 192.168.0.12:/tmp/a.txt        #远程文件传输
scp -r a_dir 192.168.0.12:/tmp/

scp -r local_folder remote_username@remote_ip:remote_folder    #远程目录传输

终端快捷键

Ctrl+c 删除整行(快速删除已输入的命令)

Search

    Table of Contents