Linux命令总结【待续】

简介: 1.打包:  tar -czf small.tar.gz small(目录名)  ;压缩并打包目录  2.解包: tar zxvf 文件名  date -s 2015 2 12 修改时间 cp name cp  -rf  name # pwd#Desktop/test1/cp .

1.打包:  tar -czf small.tar.gz small(目录名)  ;压缩并打包目录 

2.解包: tar zxvf 文件名

 date -s 2015 2 12 修改时间

cp name

cp  -rf  name 
# pwd
#Desktop/test1/
cp ../../etc/passwd ./
cat ../../etc/passwd > test.txt  重定向

mkdir –p 创多目录

rm –r 删空目录

rm –rf   name ( dir ) 连续强删

mv 类似cp

od 读非文本文件

cat  /less /more/tac/head/tail   读

Useradd  增加用户

Userdel   删除用户
修改终端字体颜色:vim /etc/DIR_COLORS 找到 “DIR 01;34 # directory” ,直接修改34即可。 

 
 

 管道和重定向 

一.重定向

所谓重定向就是指:重新定义请求,将其转向其他位置。

eg:ls -l >lsoutput.txt

这条语句,ls -l这个指令(请求)本来是在终端上显示当前目录的内容的,执行完这条语句之后便完成了ls -l指令的重定向:不在终端显示,而是把显示内容保存在文件lsoutput.txt文件中。

假如你在一个脚本程序里想用kill命令终止一个进程,但是有可能当你执行kill命令的时候那个进程就已经结束了,这时它会在终端上输出恼人的error信息,咋办?给它重定向输出吧!即:不让它在终端上显示,而是重定向输出到一个文件中。可在脚本中这样写:

kill -HUP 1234 >killout.txt 2>killerr.txt

因为标准错误输出的文件描述符编号是2,所以使用“2>”操作符.

上面的命令即将标准输出和错误输出分别重定向到killout.txt和killerr.txt中了。如果想把两组输出都重定向到一个文件中,可以用">&"操作符来结合两个输出。如下所示:

kill -1 1234 >killouterr.txt 2>&1

二.管道

可以用管道操作符"|"来连接进程。

ps -xo comm | sort | uniq | grep -v sh | more

这个命令首先按字母顺序排序(sort命令是排序)ps命令的输出,再用uniq命令除去名字相同的进程,然后用grep -v sh删除名字为sh的进程.然后用more命令将结果分页在屏幕上显示出来。

 

(重定向)>号是将前面的内容保存在后面的文件内
  输入到 

|竖线表示链接进程 也就是管道

>是覆盖写,意思是之前的内容全没了;
>>是追加写,之前的内容不动。

Wc< file   从这个文件中读出几行几个字文件大小

a.out<file1>file0   a.out从file1提取数据 把a.out结果输出到file0中

Sudo–u user  使用用户

WC输出行数 字数 文件大小

 shutdown -h now (halt pc)
 shutdown -r now (rebot your pc ) 
df
fdisk -l

ehco $PATH /SHELL

单机模式:开机    按 e(kernel) ,----> single ---->b

sudo passwd 更改密码

dwrx-----         d 目录
l --- --- ---        l  link
 
r 4   w 2 x  1     

dwrxwrxwrx     4         root               root      1024    sep 7  12:00 passwd
   权限           连接数    user(所有者) 用户组   大小      日期            文件

chmod

chgrp 

chown   777

user ----- group---other


chgrp 改的是第一个

 

绝对路径 从根 /开始

 

相对命令  相对当前路径而言


vi编辑器的使用:

(1)用vi编辑器新建文件hello.txt,输入内容abcdefghijk,并保存退出
 vi hello.txt   a   abcdefijk  shift+: wq (ZZ)

(2)打开hello.txt,复制内容到第2、3、4行,再删除第4行 
 vi hello.txt yy pp dd(4d)

或者将第3行内容删除 3d    (nd)

(3)取消上一次操作 
  u
 (4)将hello.txt的第1行到第3行内容保存到hello1.txt中  
 1, 3 w hello.txt

(5)在hello.txt中,显示行号 
 set nu(number)

(6)将当前系统的时间读入文件hello.txt中。 
  r !date

0:将光标移动到当前行首

$:将光标移动到当前行末

              移动光标

在命令模式下,键入

0:将光标移动到当前行首

$:将光标移动到当前行尾

Ctrl-d:光标向下移动12行        dàdown

Ctrl-u:光标向上移动12行        uàup

Ctrl-f:光标向下移动22行

Ctrl-b:光标向上移动22行

nG:将光标移动到第n行,如100G

  复制、剪切、粘贴、取消、修改

 

在命令模式下,键入

yy:将当前行复制到临时缓冲区      nyy   -à 5yy复制当前下5行

dd:删除当前行,并将其内容保存到临时缓冲区

ndd:删除多行,并将其内容保存到临时缓冲区,如3dd复制当前下5行

p:将临时缓冲区内容复制到当前行的下一行

P:将临时缓冲区内容复制到当前行的上一行

u:取消上一次的修改

. :重复上一次的操作 
 /或?用来在文件中向前或向后搜索

 

编辑多个文件

命令格式: vi file1  file2   file3 …..

 

首先编辑file1 , 在命令模式下,键入 :n将编辑下一个文件,键入:N将编辑上一个文件。
 键入:ar将显示编辑文件列表。

读入一个文件内容

命令格式: 在命令模式下,键入   :r  file

作用:将文件file的内容读入到光标所在行的下一行

将文件的部分内容保存为另一个文件

命令格式:n1,n2  w  file

示例: 5,20  w  t2.txt,将文件的第5行到第20行的内容保存到文件t2.txt中。


字母缓冲区 

   “wdd:删除当前行,将副本保存在缓冲区w中       d-->delete

   “wp:将缓冲区w的内容复制到当前行下一行         w----> write  p--->copy

   “ayy:将当前行的内容复制到缓冲区a中

用shell命令


命令格式: !command   
   r ! ls 记录到文本中
 r ! date 记录到文本中 

 

部分简单操作:

(1)创建目录:在根目录下创建以自已“姓名”命名的文件夹。 
进入根目录 cd /       mkdir name

(2)进入新创建目录,创建文件“a”和“b”。
cd name    touch a     touch b    或者 touch a   b

(3)再在当前文件夹下创建目录ex3。
mkdir ex3

(4)进入ex3目录,复制上一层目录中的a文件到当前目录下,更名为“c”。
cd ex3    cp ../a   ./

(5)使用mv命令将“c”的文件名改为“d”。
mv c  d                       mv 具有重命名的功能 也可以移动文件

(6)删除d。 
 rm -rf d  (rm d)

(7)返到上一层目录。
cd ../

(8)使用“find” 命令在“/”目录下查找名为“b”的文件。 
cd /       find -name b

(9)显示工作目录的绝对路径。 
pwd

 

../ 返回上一层目录

 

./当前根目录


gcc的使用:

(1)用gcc编译器编译程序work.c,生成可执行程序ework,在终端上敲出命令

 

  vim work.c (编写内容) wq gcc work.c -o ework(生成可执行文件)


o-->output   

(2)怎样执行ework

  ./work

 

(3)解释gcc helloworld.c  –o  hello命令

 

   输入 编译的文件helloworld.c 输出可执行文件hello

 

(4)如何查看gcc安装路径

      which gcc

 

(5)如何查看gcc版本信息

   gcc -v

 

(6)若要对work.c编译时加入调试信息,命令行为?

 gcc  -g   (gcc -g -o ework work.c)注:-o 紧跟输出的文件 /gcc work.c -g -o ework   

g----(-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。)

 

 

 

   查看你用的gcc版本
 # gcc  -v
 查看gcc所在目录,即查看gcc安装路径。

       # which  gcc

gdb 调试器的使用:

# vim work.c
#wq
# gcc -g -o work1 work.c   ------->这里必须先调试 -g命令方可执行gbd
# gdb
# file work1
# run/next/step/break number(终止第几行) /continue/ quit
# whatis + 变量 (显示变量类型) /  print  变量 (显示变量当时数值)

包的解压tar

tar -zxvf package_name

./ 可执行文件

enter 
--------------------------------

un zip 解压

 

chmod -R 权限 文件  -R是将连同目录及目录下的所有文件都更改权限

 

df -h  显示使用量 按G显示

 

dpkg -l 列出已经安装的软件

 

swapon 打开交换分区
 

目录
相关文章
|
11天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
100 5
|
11天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
42 4
|
1天前
|
Linux Shell 数据安全/隐私保护
|
2天前
|
域名解析 网络协议 安全
|
9天前
|
监控 Linux Shell
|
8天前
|
运维 监控 网络协议
|
12天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
25 3
Linux | Rsync 命令:16 个实际示例(下)
|
9天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
26 4
|
13天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
13天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
18 4