码迷,mamicode.com
首页 > 系统相关 > 详细

Linux基础命令

时间:2015-12-02 17:47:30      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

 ctrl +alt +t  打开新终端

 sudo shutdown -h now    关机

               -r +分钟数  重启    

vi:

   输入模式 i   a  

   底行模式

   命令模式   

   视图模式:v  进入视图模式

命令:

dd  剪切

yy  复制

p/P 粘贴

r: 修改光标上的字符

R:  修改后边的字符,直到命令结束

<b> 移动到当前单词的开始

<e>  移动到当前单词的结尾

 db:  删除单词

 dw:  删除单词

 debain: deb

 redhat: rpm

 

 deb包的组成: 软件包名_版本号_体系架构.deb

 deb包的管理机制:

 1、本地管理(无法解决依赖关系)  需要sudo  dpkg 命令

 dpkg -i <package.deb>   安装一个在本地文件系统上存在的Debian软件包

 dpkg -L <package>   列出安装的软件包清单  

 dpkg -r <package>    移除一个已经安装的软件包

 dpkg -P <package>   移除已安装软件包及配置文件

 dpkg -s  <package>    显出软件包的安装状态(是否已经安装)  

 2、在线管理(可以解决软件包之间的依赖关系)

    apt-get

apt-cache

 安装包的镜象站点  /etc/apt/sources.list   

 本地软件包索引:   /var/lib/apt/lists

 sudo   apt-get   update  用来更新本地索引, 即更新 /var/lib/apt/lists 

 sudo  apt-get  install  xxxx(软件包名, 不是全称)      安装软件包

 sudo  apt-get  remove --purge  xxx                     彻底卸载软件包

 安装包的自动下载目录: /var/cache/apt/archives/

 sudo apt-get clean/autoclean    删除自动下载目录下的deb包

 sudo apt-get --reinstall install  xxxx   在不卸载的时,重新进行安装。

 sudo apt-get source xxx   就是下载xxx的源码到当前目录下

 sudo  apt-get upgrade  升级软件包

 sudo apt-cache  

 sudo apt-cache policy xxx  查看已经安装的软件包的状态

 sudo apt-cache show  xxx   列出软件包的详细信息

 sudo apt-cache  showpkg  xxx  

 sudo apt-cache depends xxx  找到xxx所依赖的软件包

 sudo apt-cache rdepends xxx  找到依赖于 xxxx的软件包

shell:  Linux中的Shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互 

        Shell是一个命令行解释器

ys@ys-ubuntu:/$ 

用户名称@主机名称:当前路径$(普通用户)

whoami 列出当前登录的用户名称

hostname 列出当前登录的主机名

命令的使用格式: 

  Command [-Options] Argument1 Argument2 …

   命令      选项     参数

   dpkg     [-i]        sl 

 一行运行多个命令:需要使用”;“作为分隔符

                  比如: ls  ; cd  /    

如果一条命令不能在一行写完,在行尾使用反斜杠(\)标明该条命令未结束:

   比如:  ls  \

            /home/ys    表示列出/home/ys目录中的文件名

 

自动补全:

 文件名: 一次tab键

 命令补全: 两次tab键 

 

 history: 查询历史执行的命令

 history  列出所允许的最大命令个数

 history   10  列出最近操作的10个命令

 echo  $HISTSIZE   查看环境变量 HISTSIZE的值

 彻底修改HISTSIZE的值: 修改 家目录中 /home/linux/.bashrc 中的  HISTSIZE的值即可

 修改完成之后需要执行  source  ./.bashrc  重启配置文件

 

 shell的通配符:

 ”*“ :表示匹配任意长度的字符串

 ”?“ :匹配任意一个字符

 ”[ ]": 匹配中括号中的一个字符。

     比如 [0-9] 匹配0-9的数字

  [a-z]  匹配a-z小写字母

  [A-Z]  匹配A-Z大写字母

  [0-9a-zA-Z] 匹配数字、字母

要想匹配多个,需要使用多个[]来完成

[^abc] :表示除了a b  c 三个字符外都可以匹配

 

管道:管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。

 

wc 命令(文件操作):列出行、字符个数、 单词个数

wc -c  统计字符个数 

wc -w  统计单词个数

wc -l(字母)  统计行数

 

输入输出重定向:

“>"  :表示输出重定向 后边需要跟一个目标文件。

     比如: ls > file  将ls的输出结果写到文件file中

         file文件如果没有,就会被创建;如果已经存在就将原内容清空。  

”>>"  :表示输出重定向,将输出内容追加到目录文件中。

        ls  >> file   将内容追加到file文件中。

“<"  :表示输入重定向

     wc -w  <  file  将内容作为输入源传递给命令  

”2> ": 表示错误输出重定向

        gcc 的编译错误 2> file 

如果是文件执行的结果重定向,那么“>" ,将正确输出定向到文件中,错误还是会显示到终端

如果是文件执行的结果重定向,那么“2>" 将错误输出定向到文件中, 正确的会显示到终端上。

”&>" :表示将所有的信息输出重定向到文件中。

 

命令置换:将一个命令的输出作为另一个命令的参数

pwd 命令:显示当前所在的绝对路径

命令格式: 命令1  `命令2`

            将命令2的结果作为命令1的参数来使用

    ls `pwd` 列出当前路径下的文件名

 

命令别名:alias

alias cc=‘gcc‘   注意是单引号

  相当于 为gcc 起别名叫cc    

alias  新名字=‘原名字‘ 

去除别名:unalias

 unalias ll(要去除的别名)

  

shutdown 命令: 

sudo  shutdown  -r  +10   重启(10)

sudo  shutdown  -r  now  立刻重启

sudo   shutdown -h  now  立刻关机

sudo   shutdown -h   +10   关机时间

sudo   shutdown -c  立刻取消正在执行的shutdown操作

sudo   shutdown  -k  +时间    发送一个广播告诉其他登录的用户要进行关机操作,但是不会真正关机。

sudo  shutdown -f/-n     其他关机方式

 

修改密码:

passwd  修改自己的密码

sudo  passwd  user   要修改user用户的密码

比如给超级用户设置密码: sudo passwd root 

 

su : 直接切换到超级用户

exit:  退出当前的用户

su  用户名:  表示切换到该用户

 

echo:输出命令, 自带换行符

echo  "hello world"   就是原样输出字符串

echo   hello     world   就是将空白缩短到最小

echo -n  xxxxx   输出语句不带换行符

 

获得系统时间:date

修改系统时间: sudo date -s  "year -mon -day  h:m:s"

修改时区: 需要将  /etc/localtime  文件替换为   /usr/share/zoneinfo/Asia/Shanghai    

 

清楚终端上的显示:clear

ctrl + L   ==== clear

 

df: 查看磁盘空间的使用情况

df -h  以合适的数据单位显示磁盘使用

df -T   显示文件系统的信息

df -Th   显示文件系统的信息,以合适的单位

df -a  显示所有物理文件系统的使用情况,包括虚拟文件系统,如/proc、/sys等

df -k  以kB为单位显示

df -aTh

 

du: 查看文件使用此磁盘的情况

du  -mh  file(文件)   以合适的单位显示文件占用磁盘情况

du  -sh  xxx(目录)   查看目录占用磁盘空间

 

用户管理:

/etc/passwd  :记录系统用户的信息

ys      :x      :1000:1000:      ys,,,:      /home/ys      :/bin/bash  

用户名  密码     用户id 组id     个人信息    家目录         对应的shell解释器

 

/etc/shadow  :存放着用户的密码

 

/etc/group :存放着用户组信息

  ys:    x        :1000:  改组的成员

  组名   组密码    组id

 

添加新用户:

sudo  adduser  用户名

添加过程 从 /etc/skel 目录中复制文件到新用户的家目录下

 

su  用户名:  表示切换到该用户

exit  表示从当前登录的用户中退出

 

删除用户: 

sudo  deluser  要删除的用户名

彻底删除用户(包括家目录): sudo  deluser --remove-home  用户名

 

小问题:要执行删除用户的操作, 必须要保证该用户不在登录状态(exit退出)。

 

在一个已经存在的用户组添加一个新用户:

sudo  adduser  新用户名  --ingroup 组名

 

添加一个用户组:

sudo  addgroup  组名

 

删除一个组:

sudo  delgroup  组名

 

vipw:  直接打开/etc/passwd 文件

sudo  vipw  

 

usermod: 修改用户属性

sudo usermod -p  xxx   用户

 

查看进程:

ps 查看正在运行的进程

ps -ajx 显示当前系统中的进程的详细信息

ps -aux  显示当前系统中的进程的详细信息

 

top:命令 ,动态显示系统当前的使用情况

pstree: 显示当前系统中的进程的树状图

 

kill 命令: 是用来发送信号的

kill -l(是字母)  列出当前系统所支持的信号类型

kill -9  pid   杀死pid的进程(发送一个杀死信号)

 

修改文件的属性:chmod  chown  chgrp

chown:修改文件的属主

       修改文件所属于的用户:sudo  chown 新用户  文件

   同时修改文件的属主和组: sudo chown 用户:组   文件

   

chgrp: 修改文件所属于的组

       sudo chgrp  新组名  文件    

   

chmod:就是修改文件的权限。

      文件权限?                   

   ll  命令可以列出文件的权限  读、写、执行

                                 rw-        rw-          r-- 

                               属主权限   属组的权限   其他人的权限

   r: 表示该文件可读

   w: 表示文件可写

   -:表示什么没有

   x: 表示可以执行(有执行权限)

   

   chmod  664  file  表示将文件的权限修改为  rw- rw-  r--

                                                 110 110   100

       chmod  777  file  表示将文件的权限修改为  rwx rwx  rwx

           

sudo usermod  -G linux  yys    关联yys用户和linux组,这样就可以在/etc/group中看到成员列表

 

文件系统:就是对磁盘的访问和管理的一种机制

linux文件系统分类:

 

 磁盘文件系统:针对真实的存储介质,

 FAT16、FAT32、NTFS 、ext2、 ext3 、ext4

 

 网络文件系统:是可以远程访问的文件系统

 

 虚拟文件系统:存在于内存当中, 常见的有tmpfs proc  sysfs

 

 系统上的硬盘:/proc/partitions文件查看

               df -aTh

   

linux上一切皆文件(操作方式按照文件来操作)    

 

分区:

linux的分区在目录中  / 20G 

                     /home  10G

windows的目录在分区中

 

文件与目录的操作命令:

pwd  获得绝对路径

 

ls:

ls -a  列出当前目录下所有文件, 包括隐藏文件

.  当前目录

..  代表上层目录

ls -l  列出文件的详细信息

ls -R  递归的显示当前目录中的所有文件

ll  列出文件详细信息

 

-         rw-------    1            ys   ys       5618          Jul 23 20:48    file

文件类型   权限       硬链接个数   用户  组        大小(字节)  最后修改时间    文件名

 

linux文件类型:有7种

 b  属于块设备

 c  字符设备

 d  目录

 -  普通文件

 l  链接文件(软连接)

 s   套接字(网络)

 p   管道

 

cd: 改变工作目录的

 

cd     表示回到家目录

cd ..   进入上层目录

cd .    当前目录

cd ~     表示回到家目录

cd /ect/init.d/xxxx/    按照绝对路径进入某一个目录中

cd ../../../../    进入上上层目录

cd  dir        进入当前目录中的dir目录

cd  ~/C/xx    进入家目录/C/xx目录中

cd  -        进入上一次操作的目录

 

touch  1)创建一个新文件

       2)更改文件时间戳

   

file:  命令功能用于判定一个文件的类型、格式、运行架构等

file  xxxx(文件)

 

cp: 文件或者目录复制

文件操作:

cp  file1   file2     将当前目录中的文件file1, 复制一份改名为file2

cp  file1   /xx/xxx/  将当前目录中的文件file1, 复制到绝对路径中名字不变

cp   file1   /xxx/xxx/file2   将当前目录中的文件file1, 复制到绝对路径中名字变为file2

cp  /xxx/xx/file1  .(必须有目的路径)   将绝对路径中的文件file1 复制到当前目录, 名字不变

cp  /xxx/xxx/file1   /yyyy/yyy/    将绝对路径中的file1复制到绝对路径中,名字不变

cp  /xxx/xxx/file1   /yyyy/yyy/file2    将绝对路径中的file1复制到绝对路径中,名字变为file2

 

目录操作:

cp  dir1   dir2  -a   复制当前的dir1目录,改名为dir2

-a:  拷贝所有的东西,包括软连接

-r:   递归拷贝,软连接会丢失

 

cp  dir1  /xxx/xxx  -a   将当前目录中dir1, 复制到绝对路径中名字不变

cp dir1 /xxx/xxx/dir2  -a  将当前目录中dir1, 复制到绝对路径中名字变为dir2

cp  /xxxx/dir1   /yyy/   -a   将绝对路径中dir1 复制到绝对路径中目录, 名字不变

cp  /xxx/dir1  /yyyy/dir2  -a  将绝对路径中dir1 复制到绝对路径中目录, 名字变为dir2

 

 

mv: 

     1)移动文件

 2)重命名  

 

mv file1  file2  将当前目录中的file1重命名为file2

mv  dir1  dir2   将当前目录中的dir1重命名为dir2

mv file1 /xxx/xxx/  将当前目录中的file1  移动到绝对路径中,名字不变

mv file1 /xxx/xxx/file2   将当前目录中的file1  移动到绝对路径中,名字变为file2

mv  /xxx/file1  /yyy/    将绝对路径中file1复制到绝对路径中目录, 名字不变

mv  /xxx/file1  /yyy/file2    将绝对路径中file1复制到绝对路径中目录, 名字变为file2

mv  /xxx/file1   /xxx/file2  修改绝对路径中的文件名字

 

 

rm: 删除命令(谨慎操作)

rm  file   删除文件

rm   file*  通配符删除

 

-r :递归删除,操作目录

-f: 忽略文件或者目录是否存在

rm -rf  dir1   删除目录dir1

rm -rf /xxx/yy/dir1   

rm 删除目录的特点:无论目录是否为空,都可以删除。

 

mkdir:  创建目录

mkdir  xxx   在当前目录中创建一个目录xxx

mkdir  /xxx/xxx/dir   在绝对路径中创建一个目录

mkdir -p /xxx/yyy/zzz   嵌套创建多级目录

rmdir 只能删除空目录

 

cat  :查看文件内容

cat  file 在终端上显示该文件的内容

cat -n 显示文件内容时,携带行号。

cat -vE  file   在文件每一行的结尾添加一个$符号

cat  xxx  > file  重定向时使用

 

echo "helloworld" > file 

 

head :从头查看文件的前几行内容

head  -10  file   表示要查看file文件的前10行。

 

tail: 从文件结尾显示后几行内容

tail -10  表示显示后10行

 

head、tail配合使用:

head -xx  file | tail -xxx 

 

 

软链接:相当于快捷方式,源文件被删除时,链接文件就无法使用

硬链接: 多个链接指向的是同一个文件,只有硬链接的个数变为0时,才会从磁盘上删除。

 

ln命令:

创建软链接: ln -s  源文件名  链接文件名

                    源目录名字  链接目录的名字

 

如果链接文件的路径发生了变化,可能会导致之前的链接无法使用,除非链接是绝对路径。

比如: ln  -s /xxx/xxx/file(源文件的绝对路径)  link

 

创建硬链接 : ln    原文件名   链接文件名

目录无法创建硬链接   

 

压缩命令:

 gzip:   gzip file   就是将file文件压缩为file.gz 

         源文件会消失

 

 gunzip: gzip的解压命令

         gunzip xxx.gz

 

 gzip -l  xxx.gz  查看文件压缩情况。

 

 

 bzip2: bz2的压缩命令

        bzip2  file   

        bunzip2  file.bz2   解压命令    

 

zip :压缩文件、目录

     压缩命令  zip -r  xxx.zip   dir  将目录dir压缩为xxx.zip

     解压命令  unzip  xxxx.zip     

 

tar命令:

   归档:tar -cvf  1.tar  dir

         -c  创建归档文件

 -v   显示归档过程

 -f(归档名之前)   指定归档后的文件名

 

   归档并且压缩:  

         tar  -cjvf  1.tar.bz2   dir

  就是将dir目录归档压缩为bz2格式

 -j :指定压缩方式为bzip2 

 -z :指定压缩方式为 gzip

 

 -J :指定压缩方式为xz

 

解压命令:

     tar  -xvf xxx.tar.xx 解压压缩包

 tar -tf  xxx.tar  查看归档文件的组成

 tar -uf  xxx.tar  file   就是将file文件添加到xxx.tar的归档包中

 

less/more  分屏显示文件内容, 按q退出

 

grep :用来进行字符串查找

      grep -Rn  "字符串“  查找路径

   -R :递归查找

   -n: 显示字符串所在的文件的行号。

  grep 支持shell的通配符、正则表达式等。 

 

sort: 默认对文件内容进行升序排列

   sort file  -o  file  表示将排序后的内容写入到源文件    

   sort -r  file  按照降序排列

   

   如果文件内容为字符‘0-9‘,会按照ascii比较   

   sort -n  file  排序时按照数值大小进行

   

uniq: 在终端上显示去除文件中相邻重复行后的内容

uniq -c  file : 表示统计文件中相邻重复的行数

 

diff: 比较文件的内容是否一致,会列出不一致的地方。

      如果文件内容一致,那么没有任何提示。

 

which:查找实用命令  

whereis: 查找命令或者程序 

who: 显示当前登录的用户名

 

find : 递归查找文件

   find  查找路径  -name   文件名(可以使用通配符)   /////按照文件名查找

   find  查找路径  -perm    666     /////按照文件权限查找

   find  查找路径  -group   组名    /////按照文件分组查找

 

配合管道使用:  find  . | grep "查找关键字”

 

cut: 进行域的分隔

cut -d "xx"  -f xx, xxx

-d: 指定分隔符

-f: 指定要显示的域

比如:cut -d ":" -f 2,3     表示要显示以“:”作为分隔符的第2和第3个域的内容。

 

网络配置:相关文件 /etc/network/interfaces

                   /etc/resolv.conf

   /etc/init.d/networking     

 

 ipv4 ip地址类型: A B C D E

  ip地址组成: 网络id + 主机id

  子网掩码: A 255.0.0.0

             B  255.255.0.0

 C  255.255.255.0

 

ifconfig: 查看和配置网络的命令  

 

  通过ifconfig命令临时修改网络连接:

   ifconfig eth0  192.xxx.xxx.xx 修改eth0的ip地址

 

虚拟机网络:

    1)共享主机网路

    2)独立于主机(桥接模式)

 

  通过配置文件修改网络:见文件   

Linux基础命令

标签:

原文地址:http://www.cnblogs.com/yangziwen0709/p/5013335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!