首页 > 技术文章 > Linux简单的常用命令——纯手打(慢慢积累)

AmilyWilly 2015-12-08 18:16 原文

==============linux下快捷键==================
ctrl+insert 复制
shift +insert 粘贴

输入文件名的前三个字母,按tab键自动补全文件名

在vi中i是写入 u是撤销一步,回到上一步(要先Esc出来再按u)
home键 行首
end键 行尾
=============================================
如何查看linux系统是32位还是64位?

可以用命令“getconf LONG_BIT”查看,

如果返回的结果是32则说明是32位,返回的结果是64则说明是64位。

linux命令
命令【选项】(【参数】)【选项值】(【参数的值】)
命令+(选项)+参数

ls 列出所有
ls -l
ls -h
ls -a
cd 转到
cd ..到上层目录
cd - 到上个命令的工作目录
cd ~ 回到家目录
cd / 回家根目录
pwd

hwclock

shutdown
shutdown -h now 现在关机
shutdown -r 重启
shutdown -c 取消关机
init 0 关机
init 6 重启
reboot

iptable -F 将这个文件清空

/boot 存放linux启动时需要加载的文件

/home 存放普通用户的目录

/var 是一个可增长目录 例如 /var/log 系统日志 /var/lib 包文件

/root 管理员所有数据 root用户家目录

/tmp 临时文件存储位置

/usr unix software soure包文件 存放软件相关

/bin 命令 此目录包含二进制可执行文件

/sbin 系统命令 主要供管理员使用以进行系统维护

/mnt 挂载点 挂镜像

/dev 包含设备文件 /dev/sda*

./相对路径 /绝对路径

.表示当前目录 ..表示上级目录

touch 用来创建新文件

mkdir 创建目录 例如 mkdir /tmp/test
mkdir -p /a/b/c/d 创建目录子目录

!$上个命令的最后一个参数(快捷键)

查看文件的方法:q退出
cat 查看文件内容 例如 cat /etc/passwd
more
less
head 默认从第一行开始前10行 例如 cat head -n 3 /etc/passwd 查看文件中从第一行开始前3行
tail 默认最后10行
-f 动态显示数据(不关闭) 常用来查看日志

ctrl ^C终止命令

linux下 蓝色是目录 黑色是文件 浅蓝色是软连接,在同一目录下:目录和文件名不能相同;

复制文件: cp 复制单一文件,里面不再有目录和其他文件
cp 源 目标
例如 cp /etc/passwd /tmp/

复制目录: cp -r /etc/ /tmp/
-r是递归的意思 是指包含子目录和文件

删除 rm
rm -rf 全部删除(包括目录和文件) 强制递归删除
-r递归 -f强制

mv重命名
mv 源名 新名

工作经验:慎用rm删除命令 勤用mv命令重命名来代替删除的效果

vi缩小版 vim升级版
编辑
rpm -qf 'which vi' 得到vi的安装包
vim命令行模式下
字符操作:
i当前插入
I行首插入
a当前字符之后插入
A行尾插入
o下一行插入
O上一行插入
x向后删除一个字符
X向前删除一个字符
u撤销一步===》常用
home键 行首
end键 行尾
dd删除一行
yy复制一行
p将复制的行粘贴
没权限时候用wq!强制保存退出
:w 保存save
:q 没有进行任何修改退出 quit
:q!修改了,不保存,强制退出
:wq!强制保存退出(没权限时用这个)
:set nu 显示行号


对配置文件多行进行注释:
ctrl+v
向上或者向下选中要注释的行
shift+I
在其中一行前键上#号
按ESC

删除多行注释:
ctrl+v进入编辑模式
向上或向下移动光标,选中注释部分
按d,就会删除注释符号

转码命令:
iconv -f gb2312 c.txt -o d.txt
from output
解决服务器脚本导到windows上的串行问题,因为windows和linux对回车的处理不同。

从网络上自动下载一些东西到linux上
wget...http:....
wget +url
先cd到想要下载到的目录再wget

打3个字符按Tab键会自动补齐文件名

===========tar解压缩============

tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。

root@tecmint:~# tar -zxvf abc.tar.gz (记住'z'代表了.tar.gz)

root@tecmint:~# tar -jxvf abc.tar.bz2 (记住'j'代表了.tar.bz2)

root@tecmint:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc

注意: "tar.gz"代表了使用gzip归档,“bar.bz2”使用bzip压缩的,它压缩的更好但是也更慢。

========安装========
一: 源代码安装方式:
先cd到想要安装的目录下

tar -zxvf 文件名 解压缩
对tar.gz的解压缩
第一步:./configure 检查当前环境十分满足安装此软件的依赖关系
完了之后可以用 echo $? 结果若是0,则OK可以了,进行下一步;
第二步:make
第三步:makeinstall
模糊查询是否安装好了某软件:
find / -name pcre*|more

二: 自动安装yum安装:yum install package
例如:yum -y install pcer-devel

三: 二进制文件安装:rpm -ivh file.rpm
适用于rpm安装包的安装

关于解压缩,参见不同解压缩命令

====卸载============
sudo make uninstall (干掉make install命令时装进去的文件,要管理员身份)

只删除make时产生的临时文件(soft1下):

make clean

同时删除configure和make产生的临时文件(soft1下)

make distclean
=====================

ps -A 显示所有进程

kill -QUIT 主进程号 停止某进程

=====开启或者关闭防火墙==============

1.重启后永久性生效:

  开启:chkconfig iptables on

  关闭:chkconfig iptables off

2. 即时生效,重启后失效:

  开启:service iptables start

  关闭:service iptables stop
service iptables status 查看防火墙状态
chkconfig命令只是查看和设置服务的自动启动情况,并不能反映当前服务的状态.
service iptables status可以查看到iptables服务的当前状态
但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置
iptables -L
上述命令的返回值如果显示没有防火墙规则,那就是不起作用;反之就是防火墙在起作用.

Xftp连接linux失败,ftp协议登录不了,要选择sftp协议就好了,因为sftp协议走的是ssh服务,因为你服务器上没装ftp服务,所以ftp协议就登陆不了。
=========================================================================================
touch的用法
最常用用法touch fileA
如果fileA存在,使用touch指令可更改这个文件或者目录的日期时间,包括存取时间和更改时间;即修改时间戳;
如果fileA不存在,touch指令会在当前目录下新建一个空白文件fileA
touch 命令详解
功能说明:改变文件或目录时间。

语 法:touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。

参 数:
-a或--time=atime或--time=access或--time=use 只更改存取时间。
-c或--no-create 不建立任何文件。
-d<时间日期> 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m或--time=mtime或--time=modify 只更改变动时间。
-r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间> 使用指定的日期时间,而非现在的时间。
--help 在线帮助。
--version 显示版本信息。
=====================在vi中显示行号的方法=========================
使用vi编辑~/.vimrc文件,在该文件中加入一行"set nu",添加内容不含引号, 命令如下:
vi ~/.vimrc
然后写入set nu
保存退出即可 vim是有语法高亮显示的,vi好像是没有的
=======================>=============
ls>test.txt
将当期目录下所有的文件名都写到test.txt文件中

=================================

uname -a   显示机器名,操作系统和内核的详细信息。

Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/Linux

  1. Linux“: 机器的内核名
  2. tecmint“: 机器的节点名
  3. 3.8.0-19-generic“: 内核发布版本
  4. #30-Ubuntu SMP“: 内核版本
  5. i686“: 处理器架构
  6. GNU/Linux“: 操作系统名

========================================

history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。

=============grep=================

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep常用用法

复制代码
[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!
复制代码
 

将/etc/passwd,有出现 root 的行取出来

# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
或
# cat /etc/passwd | grep root 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

将/etc/passwd,有出现 root 的行取出来,同时显示这些行在/etc/passwd的行号

# grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
30:operator:x:11:0:operator:/root:/sbin/nologin

========================================find====================================

find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。

find的使用格式如下:

  $ find <指定目录> <指定条件> <指定动作>

  - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。

  - <指定条件>: 所要搜索的文件的特征。

  - <指定动作>: 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

find的使用实例:

  $ find . -name 'my*'

搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

  $ find . -name 'my*' -ls

搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

  $ find . -type f -mmin -10

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

========================locate=======================

locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

locate命令的使用实例:

  $ locate /etc/sh

搜索etc目录下所有以sh开头的文件。

  $ locate ~/m

搜索用户主目录下,所有以m开头的文件。

  $ locate -i ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

推荐阅读