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 ../../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 打开交换分区