【Linux】Linux基本命令扫盲
【VI使用】
1、在命令行模式
:在vi编辑器中将光标放在函数上, 定位到每行的开头,不进入输入模式,$ 定位到每行的末尾
:[n]dd 剪贴n行,p粘贴
: dG 删除光标后的所有内容
:dw 删除1个单词
: D 删除当前行光标后面的部分
:d0/d^ 删至行首,d$ 删至行尾
: v 撤销,. 重复
:!command 执行shell使命
: r !command 将shell命令的执行结果保存到文件
: nr !command 将shell命令的执行结果保存到第n行
2、在底行模式下:
: 可将光标定位到第45行
: w 1.txt 将文件另存为1.c文件
: sp 1.txt 将1.txt在同一终端中同时打开(横向)
: vsp/vs 1.txt 同上(纵向)
3、在shell命令行:
:ctrl+a 定位到命令的开头,ctrl+e 定位到命令行的末尾
: vi 1.txt +45 打开文件并定位到第45行
:ctrl+l:直接进行清屏(和clear一样)
4、块选择:
ctrl+v 然后操作方向键
5、替换
: s/m/n/g 将光标所在行的 m 替换为 n
: %s/m/n/g 全部替换
6、快速编辑代码
ctrl + n / ctrl + p 变量、函数快速补全
ctrl + x + l 代码行补全
【dpkg工具(本地安装)】
1、安装软件(取软件下载包所在的目录执行):
dpkg -i xxxx.deb
2、卸载软件:
dpkg -r xxxx
【apt工具(远程下载)】
1、重要目录和文件:
/var/cache/apt/archives :该目录存放已经下载过的deb软件包
/etc/apt/source.list :镜像源网址
2、安装软件:
1: 更新镜像源: apt-get update
2: 安装软件包: apt-get install g++
3、重新安装:
apt-get install --reinstall g++
4、卸载软件:
apt-get remove 软件包名字
5、软件升级:
apt-get upgrade --->将系统中所有的软件升级到最新版本(如果网速慢的话,需要很长的时间,慎用)
6、删除下载软件包:
apt-get clean --->将/var/cache/apt/archives目录中所有下载过的软件包删除
【网络配置】
1、网络配置
目录:/etc/network/interfaces
配置:address/gateway/netmask
2、DNS配置
目录:/etc/resolv.conf
配置:nameserver
3、重启网络
/etc/init.d/networking restart
4、测试网络
ping www.baidu.com
【shell】
shell是一个命令行解释器,负责将命令解释成内核可以识别的东西,目前我们使用bash
vi /etc/shells #查看系统中支持哪些shell
cd ~ #切换到用户主目录
ls -al #详细实现当前目录中的文件内容
ls -al;cd / #在一行中输入多个命令,中间加分号
cd - #回到上一次所在目录
alias myls='ls -al' #将ls -al 命令定义一个别名myls
unalias myls 取消别名
cp ./*.c 123 #将当前目录中所有的.c文件拷贝到123目录
cp ./* 123 #将当前目录中所有的文件拷贝到123目录
ls -al | grep txt #使用管道来查找当前目录中的txt文件
ls -al > 1.txt #将ls -al 命令的输出内容写入1.txt文件(>> 追加的方式)
wc -w < 1.txt #将1.txt作为wc命令的输入源,统计单词个数(dup,dup2)
ls `pwd` #将pwd命令的输出作为ls命令的参数,(``为反引号)
man 2/3 commands # 2:系统调用 3:库函数
ls --help #查看ls命令的帮助信息
info ls #查看ls程序的帮助页
sync #保证内存中的缓冲数据,动态实时的写入磁盘文件
sudo su #只切换用户,不切换shell(用户目录)
sudo su - #用户和目录都切换
env #查看系统中所有的环境变量
echo $HOME #查看环境变量HOME的值
mount /dev/cdrom /mnt/ #将dev下的光盘cdrom挂载到mnt目录下
umout /mnt/ #卸载
【用户ID】
UID #用户ID
GID #组ID
CUID #创建者的用户ID
CGID #创建者的组ID
EID #有效用户ID
adduser zhangsan #添加用户
deluser zhangsan #删除用户
deluser --remove-home user1 #删除用户user1的同时删除用户的工作目录
【PS】
ps #查看当前终端运行进程,前台进程(相对应的是守护进程)
ps -aux #查看系统中所有运行的进程(进程表)
1、进程的状态(STAT):
S:睡眠
R:运行
T:停止
Z: 僵尸进程
N:低优先级进程
s: 会话的发起者
l:包含线程的进程
<: 高优先级进程
+:前台进程
[]:系统级进程
ps -ef #同时可以查看系统中进程的父进程ID(PPID)
ps -el #可显示所有进程的优先级
top #动态查看系统进程的状态
2、进程的优先级(-20~19):-20最高,19最低,默认为0
sudo nice --5 ./hello #将hello运行时的优先级设为-5
sudo renice -5 19807 #将一个正在运行的进程(PID 为19807)的进程的优先级修改为-5
kill -l #显示系统中所有的信号 #define SIGKILL 9
kill -SIGKILL(或-9) 1152 #给pid为1152的进程发送SIGKILL信号,杀死它
【ls】
ls -al
1、文件类型:
-:普通文件(文本文件、二进制文件)
l:链接文件(软连接)
d:目录文件
p:管道文件
c:字符设备文件(键盘,鼠标)
b:块设备(硬盘、Flash)
s:套接字文件(socket)
2、文件的权限:
r(4) w(2) x(1) r - x - w x
所属用户 所属用户组 其他用户
cd ../../ :回到上上一级目录
cd ~ :回到家目录
touch 1.c 2.c 3.c :同时创建多个文件(一个普通文件被创建时,没有可执行权限,默认权限为0644:0666-umask)
mv file_old.c file_new.c : 实现文件的重命名
rm 1_day/ -fr :强制删除目录
rm ./* -fr :清空当前目录
cp –r dir1/ dir2:复制目录
mkdir –p dir1/dir2/dir3 :目录的嵌套创建
rmdir dir1 -p :删除目录下所有的子目录
head -8 pai.c :显示文件的前8行
tail -8 pai.c :显示文件的后8行
ln -s pai.c 1:给文件pai.c创建一个软连接1,相当于快捷方式(将pai.c删除,则链接出错,再重新建立pai.c,又可生效)
ln pai.c 1:给文件创建一个硬链接1, 将pai.c删除之后,不会影响1对源文件的访问(pai.c和1共享文件的i节点)
【压缩和解压】
1、zip格式:
zip -r dir.zip dir/ :将目录进行压缩
unzip dir.zip :解压
2、gz格式:
gzip 1.c :gzip只能一次压缩一个文件,压缩后的名字为源文件名加后缀
gunzip 1.c.gz:解压
tar –cf myExamples.tar myExamples :只归档,不压缩 =》 tar –xvf myExamples.tar
tar -cjf myExamples.tar.bz/bz2 myExamples :采用bzip2格式压缩 =》 tar -xvjf myExamples.tar.bz
tar -czf myExamples.tar.gz myExamples :采用gzip格式压缩 =》 tar -xvzf myExamples.tar.gz
【修改主机名】
hostname myubuntu :临时修改,重启后恢复
vi /etc/hostname :永久生效; 修改主机名之后,要修改文件/etc/hosts,使新的主机名有相对应的ip(一般为回环地址:127.0.0.1)
DNS:修改文件/etc/resolv.conf 该文件设置的DNS最多可以有三个,只要有一个生效即可
@成鹏致远 | 2013-03-12
【Linux】Linux基本命令扫盲的更多相关文章
- 二:Linux 的基本命令、VI编辑器、Linux中软件安装
Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...
- 第四周博客之一---Linux的基本命令(前5个)
一.Linux的系统结构 "/"根目录部分有以下子目录: 1./bin:系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用. 2./boot:用于自举加载程序(LILO ...
- Linux 的基本命令
Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E……盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...
- Linux常用基本命令(less)
转: Linux常用基本命令(less) LESS:跟more命令的功能类似,都是用于分页显示内容,但是他的性能比more更高,功能比more更丰富,他读取文件是按需加载 格式: less [opti ...
- Linux 常用基本命令及应用技巧
需要pdf 版 联系我 我的文件中有目录一.Linux 的常用基本命令................................................................. ...
- Linux操作系统-基本命令(二)
Linux操作系统基本命令 文件操作类命令 – ln命令 另外一种链接方式称为符号链接(软链接),是指一个文件指向另外一个文件的文件名.软链接类似于Windows系统中的快捷方式.软链接由ln -s命 ...
- Linux文件基本命令
Linux文件基本命令学习 操作技巧: 输入文件/目录/命令的前几个字母之后,按下tab键,则自动补全 按上/下,回滚曾经用过的命令 不想执行命令使用:crtl + c 基础命令: ls(查看) 基础 ...
- Linux常用基本命令( ls, alias)
ls命令 作用:列举目录文件信息( list directory content ) 格式:ls [option] [file] 1,命令不跟任何选项与目录,表示列举当前目录的文件信息 ghostwu ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- [Linux]Linux下redis的安装及配置.
在上一篇[Linux] linux下安装配置 zookeeper/redis/solr/tomcat/IK分词器 详细实例. 我们已经将redis所需tar包拷贝到了linux下的root 根目录下, ...
随机推荐
- shell scripts 之 代码量统计
代码统计1 文件only中的内容为多个文件的文件名,code如下: xargs说明:xargs 读入stdin的值, 并默认以空白或者回车作为分隔符,将分割的值作为参数传给后面紧接着的的命令行操作.- ...
- vuex数据持久化存储
想想好还是说下vuex数据的持久化存储吧.依稀还记得在做第一个vue项目时,由于刚刚使用vue,对vue的一些基本概念只是有一个简单的了解.当涉及到非父子组件之间通信时,选择了vuex.只是后来竟然发 ...
- 洛谷P1886 滑动窗口(POJ.2823 Sliding Window)(区间最值)
To 洛谷.1886 滑动窗口 To POJ.2823 Sliding Window 题目描述 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每 ...
- [CF1030E]Vasya and Good Sequences
[CF1030E]Vasya and Good Sequences 题目大意: 给定一个长度为\(n(n\le3\times10^5)\)的数列\(a_i(1\le a_i\le10^{18})\). ...
- 2016/2/26Android实习笔记(Android签名和aapt)
1. 我们平时用eclipse或Android Studio开发得到的android应用程序,其实已经添加有默认的debug签名了. Android系统要求所有的程序经过数字签名才能安装,如果没有可用 ...
- 应用栈解决迷宫问题的C语言实现
题目来自于严蔚敏<数据结构>,参考伪代码实现的程序: #include <stdio.h> #include <malloc.h> //记录通道块在迷宫矩阵当中的横 ...
- [原创]推荐一些在线API生成工具
[原创]推荐一些在线API生成工具 最近发现Api文档维护是个大体力活,版本控制文档统一化特别麻烦,寻思着这个怎么处理,经高人指点开源有一些工具不错,具体如下: 1.Swagger http:// ...
- Linux:修改和删除已有变量
变量修改 变量的修改有以下几种方式: 变量设置方式 说明 ${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据 ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据 ...
- NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
NSArray *array = @[ @1, @2, @3, @4, @5, @3 ]; // 1. NSArray与NSData相互转化 // NSArray to NSData NSError ...
- 你现在还在手动生成set,get方法吗?使用lombok
JAVA面向对象编程中的封闭性和安全性.封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问.这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性 ...