`
dreamoftch
  • 浏览: 485729 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

常用linux命令记录

阅读更多

 

用winscp 可以方便的将window的文件上传到linux机器上。

 

今天学习的linux命令:

 

ls:(列出当前目录下的文件和文件夹)

ls -lt:(列出文件,并按照时间降序显示)

ls -ltr:(列出文件,并按照时间升序显示)

 

cd :

cd -(回到进入当前目录之前所在的目录,比如刚开始在/home/test目录,然后我执行了cd /var进入/var目录下,此时我执行cd -就可以回到/home/test目录了。类似浏览器页面回退的功能)

 

pwd:(显示当前目录)

 

mkdir:创建目录

 

touch:创建文件

 

rmdir : 删除文件夹  ,文件夹不为空的时候删除不了,要用rm -rf dir1(r:recursive递归,f:force 直接删除,不询问)

 

rm :删除文件或者文件夹(rm -rf dir1  删除文件夹,rm a.txt 删除文件)

 

cp:拷贝  (cp d1 d2 把文件d1拷贝一份,生成文件d2,  cp -r dir1 dir2  拷贝文件夹dir1,生成文件夹dir2)

 

mv:移动(移动文件和文件夹都一样,mv d1  dir1 把文件或者文件夹d1移动到文件夹dir1下)

 

vi:文件操作:示例:

 

vi a.txt    (进入a.txt文件的操作中,如果文件不存在则创建,首先进入命令模式)

 

a  (进入编辑模式,append)

 

(执行编辑操作)

 

按ESC键结束编辑,返回命令模式

 

通过:w(冒号+w  表示保存)

 

:q(冒号+q  表示退出)

 

:q!(冒号+q+感叹号  表示退出但不保存)

 

返回之后,通过more a.txt 查看内容

 

vi其他命令:(shift+小写字母表示大写字母)

     :set nu(显示行号)

     :set nonu(隐藏行号)

     20G(跳到第20行)

     15->(调到当前行的第15个字符处)

     gg(调到第一行)

     1G(和gg一样,调到第一行)

     G(调到最后一行)

 

 

Vim常用操作:


插入命令:

命令 作用
O    在光标下插入新行
o    在光标所在行行首插入
I    在光标所在字符前插入
i    在光标所在行尾插入
A    在光标所在字符后插入
a    在光标上插入新行


定位命令:

命令        作用
: set nu    设置行号
: set nonu  取消行号
gg          到第一行
G           到最后一行
nG          到第n行
: n         到第n行
$           移至行尾
0           移至行首

删除命令:

命令        作用
x           删除光标所在处字符  
nx          删除光标所在处后n个字符
dd          删除光标所在行,ndd删除n行
dG          删除光标所在行到文件末尾内容
D           删除光标所在处到行尾内容
:n1,n2d     删除指定范围的行


复制和剪切命令:

命令        作用
yy         复制当前行
nyy        复制当前行以下n行
dd         剪切当前行
ndd        剪切当前行以下n行
p、P        粘贴在当前光标所在行下或行上


替换和取消命令:

命令 作用
r   取代光标所在处字符
R   从光标所在处开始替换字符,按Esc结束
u   取消上一步操作


搜索和搜索替换命令:

命令                  作用
/string               搜索指定字符串,搜索时忽略大小写 :set ic
n                     搜索指定字符串的下一个出现位置
:%s/old/new/g         全文替换指定字符串
:n1,n2s/old/new/g     在一定范围内替换指定字符串


保存和退出命令:

命令             作用
:w               保存修改
:w new_filename  另存为指定文件
:wq              保存修改并退出
ZZ               快捷键,保存修改并退出
:q!              不保存修改退出
:wq!             保存修改并退出(文件所有者及root可使用)



Vim使用技巧:

导入命令执行结果 :r !命令
定义快捷键 :map 快捷键 触发命令
  范例: 
        : map ^P I#<ESC>
        : map ^B 0x
 连续行注释  
             :n1,n2s/^/#/g
             :n1,n2s/^#//g
             :n1,n2s/^/\/\//g
 替换 :ab mymail samlee@xxx.net





 

 

 

vi: undo/redo

撤销/重做

在命令模式,假如我们通过dd删除了一行,想要撤销该删除操作,通过 u 即可(undo),如果撤销之后,我们又想重做该操作,通过ctrl + r 即可(redo)。

 

vi filename 进入命令模式,a/A/i/I/o/O 进入编辑模式, ESC返回命令模式。

 

 在shell里面直接进行数字计算(加减乘除):

echo $((2*5))

就可以得到结果啦。

 

cat:直接看例子:

 

           cat a.txt (查看a.txt内容 结果跟more a.txt 一样)

 

          tac a.txt(倒序显示a.txt内容)

 

          head -3 a.txt (显示a.txt的前三行)

 

          tail -3 a.txt(显示a.txt的最后3行)

 

find:查找

          例如:find /demo -name a.txt(在根目录的demo文件夹下查找名字为a.txt的文件)

 

 

crontab -e:

进入定时任务编辑窗口。(通常使用一个shell脚本存储要做的操作,例如:* * * * * /home/my_crontab_task.sh,具体的操作都在这个shell中)

crontab -r:

删除所有定时任务。

crontab -l:

列出所有的定时任务。

 

netstat -anp:

显示出全部的网络信息及其进程号(-p)。

 

ps -ef:

显示全部进程。

ps -aux:

显示全部进程的详细信息

 

查看某个进程是否存在:

ps -ef | grep mysql

查看mysql进程是否存在。

 

ifconfig eth0 192.168.1.111

临时修改ip

 

top:

动态显示内存,CPU,等信息的使用情况

top -d 10

每10秒刷新一次

 

date

显示或设置系统时间

date MMDDHHMMCCYY.SS

月月日日时时分分年年年年.秒秒

 

traceroute www.xx.com

追踪完整路由信息

 

route

查看路由表

 

rpm(Red Hat PackageManager)

 

安装软件:

 

rpm  -ivh xxx.rpm

rpm command and options

  • -i : install a package
  • -v : verbose
  • -h : print hash marks as the package archive is unpacked.

 

查看安装的软件:

 

rpm -qa

  • -q query operation
  • -a queries all installed packages

 

查看是否安装了MySQL:

 

rpm -qa | grep mysql

 

 

如果没有安装telnet服务,可以执行 :

yum install telnet-server 

安装服务 

yum install telnet 

安装命令 

 

然后编辑vi /etc/xinetd.d/telnet 文件,激活telnet,默认是禁用的(disabled改为no)

 

然后重启服务,执行命令 service xinetd restart 

 

参考:安装telnet 

 

 

使用 vi 编辑器的时候,要显示行号,可以在命令模式下执行:

 

    :set nu  或者  :set number

 

取消显示行号:

   :set nu!

  或者:

   :set nonu 

 

即可

 

RPM/YUM用法

 

RPM不会帮我们解决包的以来问题,YUM会帮我们解决包依赖的问题。

 

查询全部已经安装的软件:

rpm -qa

 

查询是否已经安装了mysql:

rpm -qa | grep mysql

 

使用yum list/info查看包信息:

yum list mysql

yum info mysql

 

使用rpm -e(erase)删除包:(如果这个包被其他包依赖,就不能被删除)

rpm -e xxx

 

可以使用yum remove删除

yum remove xxx

 

升级包:

升级所有mysql开头的包:

yum update 'mysql*'

 

使用rpm -i 安装:

rpm -i xxx.rpm

 

rpm :

-i :install 的意思

-v :察看更细部的安装资讯画面

-h :以安装资讯列显示安装进度

所以通常用:

rpm -ivh xxx.rpm 安装包

 

 

使用yum install安装:

yum install mysql

 

 

 

CentOS 下mount share folder:(假设在setting中share folder里面配置的share folder 名字是 myShareFolder)

1. cd /mnt

2. mkdir vm_share(名字可自己决定)

3. mount -t vboxsf myShareFolder vm_share

 

就可以了。

 

su:

 

su表示切换到指定的账号。

如果直接输入su,默认表示切换到root。

 

su user1表示切换到user1账号,但是环境变量和目录仍旧保持不变。

su - user1表示切换到user1账号,同时环境变量和目录也切换过去,就跟user1自己登陆进来一样。

 

 不同方式执行shell 的区别:

 

假如我们有一个shell:

 

#!/bin/bash
# Program:
#	User inputs his first name and last name.  Program shows his full name.
# History:
# 2005/08/23	VBird	First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "Please input your first name: " firstname
read -p "Please input your last name:  " lastname
echo -e "\nYour full name is: $firstname $lastname"

 

无论我们通过 绝对路径(/xxx/xxx/sh02.sh),还是相对路径(./sh02.sh),还是通过 bash 执行脚本(sh sh02.sh),执行完成之后,在父程序bash环境下是拿不到 firstname  lastname 变量值的。

 

但是如果我们通过 source sh02.sh的方式执行的话,执行完之后,我们仍可以拿到 firstname  lastname 变量值。因为这种方式是在父程序bash环境下执行的,所以我们可以拿到里面的变量。

 

 

 

翻页:

 

在linux命令行中通过 shift + pageup/pagedown 翻页,通过 shift + home/end 跳到顶部/底部

 

在vi编辑器里面,vi进入之后,通过 ctrl + f/b 向下/上翻页,通过 shift + g 跳到底部,通过gg跳到顶部。

 

 

where:     whereis  ls/find/vi/mv/cp      显示这些命令对于的执行文件的位置

 

ln:  硬链接/软链接

 

          ln  a.txt  b.txt  (复制了一份到b.txt,同时建立了a.txt和b.txt的链接,修改其中任一文件,另一文件也会改变,称为硬链接,此时删除其中一份文件,不会影响另外文件)

          ln -s a.txt b.txt(建立一个快捷方式b.txt指向了a.txt,修改任一文件,另外文件也会修改,但是删除源文件的话,链接文件会变红色,表示指向的文件不存在)

 

 

 

 useradd(或者adduser): 添加用户:

         useradd  testuser1(添加新用户testuser1,会在home目录下面创建一个testuser1文件夹,删除的时候要一并删除)

 

userdel   :  删除用户 

 

        userdel testuser1  

        然后切换到home下,rm  -rf  testuser1   删除创建的文件夹

 

 

passwd:  修改用户密码  :  首先指定要修改的用户:  passwd   testuser1   然后按照提示是输入密码即可

 

在etc目录下的passwd文件实际上记录的是所有的用户:more  passwd   即可查看所有用户  ,最后一列对应的是使用的shell类别(如 bash ,   csh  ,  bsh  ,ksh 等)

 

在etc目录下的group文件记录的是所有的用户组, more  group  即可查看所有的组

 

可以通过  

 

groupadd   testgroup  添加一个用户组

 

 

userdel:  删除用户 ,userdel  testuser1    删除用户  testuser1,然后还要删除home目录下面对于的文件夹  rm  -rf   testuser1  即可完全删除该用户及其信息

 

 

su:切换用户 (switch  user)  :

      su  testuser1切换到testuser1

 

 

 echo $$(查看shell的进程号)

 

 

我们常用一些ssh客户端在windows上远程登录到Linux上去操作,有时候会需要配置一些login scripts 或者 tunneling等设置,来方便平时操作:

 

login scripts: 

比如:

Expect: password:

Send: 123456

 

表示当收到我们期望的字符串(password:)的时候, XShell自动发送我们设置的内容(123456),经常用于自动登录使用。

 

Tunneling:

比如我们add了一个Tunneling(按照下面的Forwarding Rule):

Type: Local

Source Host:localhost

Listening Port: 12345(本地映射端口)

Destination Host: 192.168.1.111

Destination Port:22(目标映射端口)

 

通过上面的Tunneling配置,我们就做了一个端口映射,本地监听在12345端口,同时映射到192.168.1.111的22端口(用22端口常用于本地上传资料到远程服务器上面)。

假如192.168.1.111机器上面同时又有一个MySQL数据库(监听端口默认是3306),我们可以通过add一个Tunneling映射到该机器的3306端口:

Type: Local

Source Host:localhost

Listening Port: 13306(本地映射端口)

Destination Host: 192.168.1.111

Destination Port:3306(目标映射端口)

 

这样在本地通过访问13306端口就可以访问目标机器的MySQL数据库了。

 

linux 中,引号里面也可以使用 $ 符号,但是单引号和双引号是有区别的(参考:鸟哥linux私房菜):

 

双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:

『var="lang is $LANG"』则『echo $var』可得『lang is en_US』

单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:

『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』

 

 

date --date='2 days ago' +%Y%m%d

现实结果是:20150617

date: 

--date: 显示后面字符串里面描述的时间。(2 days ago, 即两天前的时间)

+FORMAT: 时间显示的格式。

 

date1=$(date --date='2 days ago' +%Y%m%d)

echo $date1

现实结果是:20150617

上面date1=$(date --date='2 days ago' +%Y%m%d)的意思是首先将$(exp) 小括号里面的语句执行,类似javascript里面的 eval(“alert('aaa')”) 一样的意思。然后将执行的结果赋给变量date1,这样就可以通过echo $date1 看到该变量的值了(参考:鸟哥linux私房菜)。

 

 

 

ubuntu 启用 root 账号:

 

Ubuntu 12.04 root用户登录设置 
Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo  -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。 

然后执行: vi /etc/lightdm/lightdm.conf 

增加 greeter-show-manual-login=true  allow-guest=false  . 修改完的整个配置文件是 

[SeatDefaults] 
greeter-session=unity-greeter 
user-session=Ubuntu 
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码 
allow-guest=false   #不允许guest登录 

然后我们启动root帐号: 
sudo passwd root 
根据提示输入roott帐号密码。 

重启Ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。

 

 

 

ubuntu 切换图形界面和命令行界面:ctrl+alt + f1/f2/f7(f7是图形界面,另外两个是命令行界面) 

 

 

 

 

 

ubuntu 上下左右和delete键盘问题

 

 在ubuntu下,初始使用vi的时候有点问题,就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的字母,而且编辑错误的话,就连平时关于的退格键(Backspace键)都使用不了,只能用Delete来删除。针对这个问题,网上的答案有很多,例如是安装完整版的vim啊,编辑/etc/vim/vimrc.tiny等方法,很杂很乱,在这里我就做个详细的总结吧:

一、编辑/etc/vim/vimrc.tiny

由于/etc/vim/vimrc.tiny的拥有者是root用户,所以要在root的权限下对这个文件进行修改。很简单,这个文件里面的倒数第二句话是“set compatible”,如下所示:   

                                       

将“compatible”改成“nocompatible”非兼容模式就可以解决方向键变ABCD的问题了。接下来要解决Backspace键的问题也很简单,在刚才那句话后面再加一句:

 

[cpp] view plaincopy
 
  1. set backspace=2  
变成下图所示:

 

                                       

就可以解决问题了。这个时候,无论对于哪个用户,使用vi都能很方便的按照我们的习惯去编辑文件了。

 

 

 

 

分享到:
评论

相关推荐

    linux命令执行,历史记录,常用命令

    可以记录常用的linux命令,特别是比较长的,非常有用。使用方法:把该Q可执行文件考备份到linux上,任何目录都行,第一次执行用./q的方式执行,第一次执行之后q程序会被加到系统目录,以后每次执行都可以像使用系统...

    Linux常用命令.xmind

    本图为本人整理的linux常用命令脑图,主要包括常用的一些命令,基本上日常工作中足够使用。

    Linux常用命令.xls

    包含常用的Linux命令,还有其他对于C的学习记录,以及对于Linux下C语言编程的问题

    常用的linux命令

    文档里的linux命令是我几年工作里常用的命令记录,命令不是太多,也好记忆,而且大部分都是工作中经常用到的,希望对大家学习linux有所帮助!

    自己总结的linux常用命令xmind

    linux常用命令的xmind,不知道怎么可以免费共享大家 作为自己的记录。

    环境部署常用的Linux命令

    环境部署用了不少的linux命令,把这些用到的命令根据自己的学习和网上的资料做了一次总结和记录,每个命令不会去介绍所有的参数,只介绍一些常用的

    常用Linux命令.docx

    Linux系统管理员必备技能,工作中常用,记录起来以防忘记,每周总结记录一次。不断更新。简单命令解决大问题。

    linux解压缩命令-Linux命令转发记录

    以下是一些常用的Linux解压缩命令的简介: tar: tar 是Linux中最常用的打包工具,它本身不具有压缩功能,但可以调用其他压缩工具(如gzip、bzip2等)来实现压缩和解压。 解压命令格式:tar -xvf 压缩文件名。其中...

    Linux常用命令

    Linux常用命令 一:关机命令 1:shutdown 语法:shutdown [-efFhknr][-t 秒数][时间][警告信息] 说明:shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。使用shutdown命令时在系统将要...

    Linux开发中的常用命令

    Linux开发中的常用命令  基本操作命令:  ---------------------------------------------------------------------- ------------------------------ ls #以默认方式显示当前目录文件列表  ls –a #显示所有...

    linux常用命令,历史记录,快速执行

    保存和执行常用的linux命令,经常需要编辑的目录很深的文件,或教长的编译命令等等。使用方法:把该Q可执行文件考备份到linux上任何目录,第一次执行会被加到系统目录,以后每次执行都可以像使用系统命令一样。 1.查看...

    Linux系统常用命令及账户管理

    本文介绍了Linux系统下常用的命令及账户管理命令。

    linux命令快速执行

    可以记录常用的linux命令,特别是比较长的,非常有用。使用方法:把该Q可执行文件考备份到linux上,任何目录都行,第一次执行会被加到系统目录,以后每次执行都可以像使用系统命令一样。例如[root@localhost ~]# q 1...

    Linux历史及命令

    简述了Linux的发展历史,还有一些Linux常用的配置命令以及Linux管理/配置等

    常用 的linux命令集

    在安装、使用和维护Linux系统中,我们都会用到大量的命令,而且命令参数繁多,这也可说是linux系统的一大特色,所以经常会忘记。这里记录我使用Linux当中用到过的命令,用于备查。

    记录Linux(CentOS)常用命令.zip

    linux常用命令大全 1.Linux管理文件和目录的命令 命令 功能 命令 功能 Pwd 显示当前目录 ls 查看目录下的内容 Cd 改变所在目录 cat 显示文件的内容 Grep 在文件中查找某字符 cp 复制文件 Touch 创建文件 mv 移动...

    linux常用命令笔记.doc

    linux常用命令笔记 。文件与目录操作、查看文件内容、文本内容处理、查询操作、压缩、解压、yum安装器、网络相关、系统相关、XSheel 5相关操作、Tomcat、关机 (系统的关机、重启以及登出 ) 、linux 重启命令。抓包、...

    Linux常用命令详解兄弟连.docx

    Linux常用命令(兄弟连)系统的介绍了Linux常用的基本命令,是个人自学时候记录的Linux常用命令,便于以后查阅以及使用,上传希望可以帮到一些初学者,因为是自己记录的,所以都是大白话,还有可能有的理解的不是很...

    linux常用命令.zip

    本为记录一下linux常用命令,若不想下载我也会依次发布博客供大家阅读,更多记录在我本人的linux专栏中

    Linux 常用命令-培训时的笔记

    记录了常用的linux命令,还有shell编程和makefile

Global site tag (gtag.js) - Google Analytics