Linux系统

Posted kris12

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统相关的知识,希望对你有一定的参考价值。

 

 

##重启下虚拟机
[root@bogon ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c9:78:c4 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.128/24 brd 10.0.0.255 scope global noprefixroute dynamic eth0
       valid_lft 1597sec preferred_lft 1597sec
    inet6 fe80::1cbf:8d03:8225:3b3f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@bogon ~]# service network restart 
Restarting network (via systemctl):                        [  OK  ]
[root@bogon ~]# 
[root@bogon ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:c9:78:c4 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.128/24 brd 10.0.0.255 scope global noprefixroute dynamic eth0
       valid_lft 1781sec preferred_lft 1781sec
    inet6 fe80::1cbf:8d03:8225:3b3f/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@bogon ~]# 

 

ls --help

认识linux

文件和目录

1、Windows和Linux文件系统的区别

 

用户目录

位于/home/user,称之为用户工作目录或家目录,表示方式:

/home/user
~

相对路径和绝对路径

绝对路径:从/目录开始描述的路径为绝对路径,如:cd/home    ls/usr

相对路径:从当前位置开始描述的路径为相对路径

 

2、Linux命令概述

ls 显示当前路径下的所有文件及文件夹;

pwd 表示查看当前所在的路径;

cd 跳转路径;cd ..是跳转到上一层文件夹;(..是相对路径)

如何知道是文件还是文件夹

ls -l 

[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris_1.tar  test
[root@localhost ~]# ls -l
total 16
-rw-r--r--. 1 root root     0 Jul 22 19:17 123_2.py
-rw-r--r--. 2 root root     0 Jul 22 19:18 345link_2.py
-rw-r--r--. 2 root root     0 Jul 22 19:18 345link.py
-rw-------. 1 root root  1304 Jul 21 15:52 anaconda-ks.cfg
-rw-r--r--. 1 root root 10240 Jul 22 21:24 kris_1.tar
drwxr-xr-x. 3 root root    47 Jul 22 21:03 test   如果是以d开头就表示是个文件夹,以-开头的是个文件;也可以根据颜色区分;

[root@localhost ~]# cd ..
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# ls -l
total 16
lrwxrwxrwx.   1 root root    7 Jul 21 15:38 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jul 21 15:52 boot
drwxr-xr-x.  20 root root 3240 Jul 28 19:59 dev
drwxr-xr-x.  85 root root 8192 Jul 28 21:49 etc
drwxr-xr-x.   2 root root    6 Jul 22 18:23 home
lrwxrwxrwx.   1 root root    7 Jul 21 15:38 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul 21 15:38 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11 12:59 media
drwxr-xr-x.   2 root root    6 Apr 11 12:59 mnt
drwxr-xr-x.   2 root root    6 Apr 11 12:59 opt
dr-xr-xr-x. 112 root root    0 Jul 28 19:59 proc
dr-xr-x---.   3 root root  238 Jul 22 21:39 root
drwxr-xr-x.  26 root root  740 Jul 28 22:00 run
lrwxrwxrwx.   1 root root    8 Jul 21 15:38 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11 12:59 srv
dr-xr-xr-x.  13 root root    0 Jul 28 19:59 sys
drwxrwxrwt.   8 root root  151 Jul 28 21:47 tmp
drwxr-xr-x.  13 root root  155 Jul 21 15:38 usr
drwxr-xr-x.  19 root root  267 Jul 21 16:03 var
[root@localhost /]# pwd
/

 

.. 是相对路径

绝对路径要写cd /bin/要加/ /,想跳到哪里都可以。

自动补全

在敲出命令的前几个字母的同时,按下tab键,系统会帮我们补全命令

查看帮助文档

<1>--help

一般是linux命令自带的帮助信息,如ls --help

<2>man(有问题找男人,manual)

man是linux提供的一个手册,包含了绝大部分的命令、函数使用说明;该手册分成很多章节(section),使用man时可以指定不同的章节来浏览。

    

 

 历史命令:

当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来

 3、Linux命令-文件、磁盘管理

 

[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris_1.tar  test
[root@localhost ~]# ls ../   也可以查看相对路径下的文件或文件夹
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost ~]# 

创建文件是touch 123.py

ls -a 表示隐藏文件也显示;ls -l 是列表;ls -h 是大小;ls -alh 顺序无所胃

通配符

 

 

 

 <2>重定向(重新规定它显示的方向)

 

 

 

<3>分屏显示more

<4>管道: |

 按空格键就慢慢都显示出来了

 

   <6>切换工作目录:cd

     

cd ~ 表示返回到家目录 

<7>创建目录:mkdir

[root@localhost ~]# mkdir kris
[root@localhost ~]# ls
anaconda-ks.cfg  kris
[root@localhost ~]# ls -l
total 4
-rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul 22 18:05 kris
[root@localhost ~]# 
[root@localhost ~]# cd kris/
[root@localhost kris]# pwd
/root/kris

rmdir只能删除空文件夹

<8>删除目录:rmdir

可使用rmdir命令删除一个目录,必须离开目录,并且目录必须为空,不然提示删除失败。

<9>删除文件:rm

可通过rm删除文件或目录,使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

rm test -r   加上 -r 是删除非空的文件夹;rm只能删除文件,rmdir只能删除空目录(空文件夹);rm删除的东西在linux里边很难恢复。

rm test -f 是强制删除;rm test -rf 强制删除。

<10>创建链接文件:In(快捷方式)

Linux链接文件类似于windows下的快捷方式;链接文件分为软链接和硬链接。

    

软链接:源文件删了,快捷方式就打不开了;

硬链接:源文件删了,快捷方式还可以打开。

 

linux系统,删除文件的时候,它会看看你这个内容有多少个文件名,比如说2个;它删一个只是删除了一个文件名,文件个数减去1;最后发现减到0了就真的删出了。

怎么看它文件数有几个呢?见下

[root@localhost ~]# ls -l
total 4
-rw-r--r--. 1 root root    0 Jul 22 19:17 123.py
-rw-r--r--. 2 root root    0 Jul 22 19:18 345link.py
-rw-r--r--. 2 root root    0 Jul 22 19:18 345.py
-rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg
[root@localhost ~]# ln 345.py 345link_2.py   再添加个硬链接,个数变为3个。
[root@localhost ~]# ls -l
total 4
-rw-r--r--. 1 root root    0 Jul 22 19:17 123.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345link_2.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345link.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345.py
-rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg
[root@localhost ~]# 

 <11>cat 查看或者合并文件内容

<12> grep是在一个文件中去搜索东西

 

 

 <13>查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

 

 find是从路径里边找文件

[root@localhost ~]# ls -l
total 4
-rw-r--r--. 1 root root    0 Jul 22 19:17 123.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345link_2.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345link.py
-rw-r--r--. 3 root root    0 Jul 22 19:18 345.py
-rw-------. 1 root root 1304 Jul 21 15:52 anaconda-ks.cfg
[root@localhost ~]# pwd
/root
[root@localhost ~]# find /home/ -name 123.py
[root@localhost ~]# find /root/ -name 123.py  在root目录下查找文件 
/root/123.py
[root@localhost ~]# find / -name 123.py  不知道它在哪个目录下的查找方式 
/root/123.py
^C  按ctrl+c结束查找
[root@localhost ~]# find /root/ -name 123*
/root/123.py
[root@localhost ~]# 

<14> cp拷贝文件

cp命令的功能是将给出的文件或目录复制到另外一个文件或目录中,相当于DOS下的copy命令。常用选项说明:

    

 

[root@localhost ~]# ls
123.py  345link_2.py  345link.py  345.py  anaconda-ks.cfg
[root@localhost ~]# mkdir test
[root@localhost ~]# ls
123.py  345link_2.py  345link.py  345.py  anaconda-ks.cfg  test
[root@localhost ~]# cp 123.py test/
[root@localhost ~]# ls test/
123.py
[root@localhost ~]# tree
-bash: tree: command not found
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# mkdir test2
[root@localhost ~]# ls
123.py  345link_2.py  345link.py  345.py  anaconda-ks.cfg  test  test2
[root@localhost ~]# ls test
123.py
[root@localhost ~]# cp test test2/
cp: omitting directory ‘test’
[root@localhost ~]# cp test test2/ -r  拷贝文件夹需要加-r;拷贝文件不需要加
[root@localhost
~]# tree 在ubuntu中是一个树状的结构 -bash: tree: command not found [root@localhost ~]# ls test2 test [root@localhost ~]#

 <15>mv移动(相当于剪切的功能了,可以移动也可以重命名)

[root@localhost ~]# ls
123.py  345link_2.py  345link.py  345.py  anaconda-ks.cfg  test  test2
[root@localhost ~]# mv 345.py test  把345.py文件移动到test文件中;
[root@localhost ~]# ls
123.py  345link_2.py  345link.py  anaconda-ks.cfg  test  test2
[root@localhost ~]# ls test
123.py  345.py
[root@localhost ~]# mv test2/ test/  把test2文件移动到test文件中 ;
[root@localhost ~]# ls test
123.py  345.py  test2

 

 <16>归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式tar[参数]打包文件名 文件;tar命令很特殊,其参数前面可以使用"-",也可以不使用。

 

  

 把1.txt、2.txt、3.txt  三个文件打包成test.tar; -xvf是解包

 

[root@localhost ~]# ls *.py
123_2.py  345link_2.py  345link.py
[root@localhost ~]# tar -cvf kris_1.tar *.py  打包 
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris_1.tar  test
[root@localhost ~]# mv kris_1.tar/ test/  移动不了,不知道为什么??
mv: cannot stat ‘kris_1.tar/’: Not a directory
[root@localhost ~]# ls test
123.py  345.py  test2
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris_1.tar  test
[root@localhost ~]# tar -xvf kris_1.tar  解包 
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris_1.tar  test
[root@localhost ~]# 

 <17>文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。tar只负责打包压缩文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件

 

 解压用法:tar zxvf压缩包包名

-z:指定压缩包的格式为:file.tar.gz
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  ls.txt  test
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  ls.txt  test
[root@localhost ~]# tar -zcvf kris-1.tar.gz *.py   既打包又压缩了
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  ls.txt  test
[root@localhost ~]# rm *.py
rm: remove regular empty file ‘123_2.py’? yes
rm: remove regular empty file ‘345link_2.py’? yes
rm: remove regular empty file ‘345link.py’? yes
[root@localhost ~]# ls
anaconda-ks.cfg  kris-1.tar.gz  ls.txt  test
[root@localhost ~]# tar -zxvf kris-1.tar.gz  
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  ls.txt  test
[root@localhost ~]# 

可以指定位置

[root@localhost ~]# tar -zxvf kris-1.tar.gz -C test/
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  ls.txt  test
[root@localhost ~]# ls test/
123_2.py  345link_2.py  345link.py  test2

<18>文件压缩解压:bzip2

[root@localhost ~]# rm test/ -r 删除文件的
rm: descend into directory ‘test/’? yes
rm: descend into directory ‘test/test2’? yes
rm: descend into directory ‘test/test2/test’? yes

[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  ls.txt
[root@localhost ~]# tar -zcvf kris-1.tar.gz *.py 打包解压的两种方式
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  ls.txt
[root@localhost ~]# tar -jcvf kris-2.tar.bz2 *.py
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt
[root@localhost ~]# rm *.py
rm: remove regular empty file ‘123_2.py’? yes
rm: remove regular empty file ‘345link_2.py’? yes
rm: remove regular empty file ‘345link.py’? yes
[root@localhost ~]# ls
anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt
[root@localhost ~]# tar -jxvf kris-2.tar.bz2
123_2.py
345link_2.py
345link.py
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt

<19>文件压缩解压:zip、unzip

[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt
[root@localhost ~]# zi
-bash: zi: command not found
[root@localhost ~]# zi
zic       zip       zipcloak  zipgrep   zipinfo   zipnote   zipsplit  
[root@localhost ~]# zip mmmm *.py
  adding: 123_2.py (stored 0%)
  adding: 345link_2.py (stored 0%)
  adding: 345link.py (stored 0%)
[root@localhost ~]# ls
123_2.py  345link_2.py  345link.py  anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt  mmmm.zip
[root@localhost ~]# rm *.py
rm: remove regular empty file ‘123_2.py’? yes
rm: remove regular empty file ‘345link_2.py’? yes
rm: remove regular empty file ‘345link.py’? yes
[root@localhost ~]# ls
anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt  mmmm.zip
[root@localhost ~]# unzip -d test mmmm.zip  没有test就创建
Archive:  mmmm.zip
 extracting: test/123_2.py           
 extracting: test/345link_2.py       
 extracting: test/345link.py         
[root@localhost ~]# ls
anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt  mmmm.zip  test
[root@localhost ~]# ls test/
123_2.py  345link_2.py  345link.py
[root@localhost ~]# 

 <20>查看命令的位置which

[root@localhost ~]# ls /bin/l*
[root@localhost ~]# cd /bin/
[root@localhost bin]# ls
[root@localhost bin]# cd /usr/sbin/
[root@localhost sbin]# ls

[root@localhost home]# cd root/
-bash: cd: root/: No such file or directory
[root@localhost home]# cd ..
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# cd root/
[root@localhost ~]# ls
anaconda-ks.cfg  kris-1.tar.gz  kris-2.tar.bz2  ls.txt  mmmm.zip  test
[root@localhost ~]# which ls
alias ls=\'ls --color=auto\'
    /usr/bin/ls
[root@localhost ~]# 

 退出超级管理员用exit

以上是关于Linux系统的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?

如何检测 SUSE Linux 系统中的音频可用性

linux中怎么查看mysql数据库版本

为啥尽管源代码没有变化,但从一个系统到另一个系统的片段数量却有很大差异?