linux常用命令--文件操作、查找、修改ip地址

Linux命令格式

命令 [选项] [参数]

命令:就是具体命令,比如常用的cd,表示进入到哪个路径

选项:可有可无,针对命令的一些特殊操作,都是以-开头加上字母的形式,比如ls -l

参数:命令的一些参数

linux路径

Linux中,没有C盘、D盘等盘符的概念,只有根目录、子目录一说,“/”:表示根目录,根目录下面有若干子目录,子目录就用“/”加上目录文件名表示。

  • /home:表示家目录,每个用户都会有一个自己的目录,在home下面,使用用户的账号命名;
  • /boot:存放的是Linux启动时用到的核心文件,包括一些连接文件,镜像文件等;
  • /bin:是存放一些常用命令的地方;
  • /opt:外部安装的应用都会存放在这里;
  • /root:系统管理员,超级用户的目录,只有系统管理员可以进入;
  • /etc:存放系统管理所需要的子目录和配置文件;
  • /var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下;
  • /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的;

...

了解到这些目录结构以及目录存放的内容,我们就大概知道大部分目录我们是不能随便动的,尽量在自己的家目录中操作命令。

cd 命令

cd是进入到某个路径使用的命令。注意cd以及其他所有命令的后面都有一个空格。

cd /home:进入根目录下的home目录。

cd /home/admin:进入根目录下的home目录下的admin目录,只要是以/开头的路径,都是绝对路径,/表示根目录。

cd filesfiles表示相对路径,cd files表示进入到当前目录下的files文件夹中。

cd ..:路径往上返一级;

cd ~:回到当前用户家目录,如果是root用户,cd ~ 相当于 cd /root,如果是普通用户,cd ~ 相当于cd /home/当前用户名;

cd -:回退功能,回退到上一次cd命令的目录下

pwd:显示当前的目录

ls命令

ls命令是用来列出当前目录下都有哪些文件和文件夹的;

ls:只显示文件夹和文件名,不显示隐藏的文件;

ls -a:显示所有文件包括隐藏文件,隐藏文件名都是以“.”开头;

ls -l:显示文件和文件夹的详细信息,比如权限,文件大小,创建时间等

ls -lh-l中的文件大小是以b为单位显示,改成-lh后,就是以KB或者MB显示;

ls -lha:显示所有的文件包括隐藏文件的详细信息;

ll:等同于ls -l

ll -h:将文件大小以KB以上的单位显示。

也可以使用通配符,来列出你想要的某些文件,比如 ll a*:列出当前目录下的以a开头的所有文件夹。

另外还有一些常用通配符,比如:

? :表示文件名中任意一个字符

[abc] :匹配abc中任意一个字符

[a-c] :也是匹配abc中任意一个字符

 :表示后面的字符就是一个普通字符,比如* 就代表*号而不是通配符

上面的命令都是必须先cd到某个路径,然后再查看当前路径的文件,事实上ls或者ll后面可以跟一个参数:路径,不需要cd到路径再ll

ls ~:列出家目录的所有文件

ls /home/admin/pic 列出“/home/admin/pic”这个路径下的所有文件。

文件详细信息

 

从上面的截图中复制下来两条,如下:

-rw-------. 1 root root 1.9K 2月  28 16:26 anaconda-ks.cfg

drwxr-xr-x. 3 root root 4.0K 3月   1 21:38 soft

第一个字母有些是-,有些是d-表示这一条是一个文件,d表示是一个文件夹,也可能会有l表示软连接;

1.9k4.0k是文件大小,接下来是时间,表示最后一次修改的时间,然后是文件名。

root root:有两个root,第一个表示当前用户是root,第二个表示当前用户所在组是root

root前面的数字是硬连接数

rwxr-xr-x:是权限,三个字母为一组:rwx  r-x  r-x,第一个字母r表示可读,如果改成-表示不可读,第二个字母w表示可写,改成-表示不可写,第三个字母x可执行,改成-表示不可执行,rwx的顺序始终都是这样的。那么为什么分三个组呢,第一个组rwx是表示文件拥有者的权限,第二个r-x表示文件拥有者所在组的权限,第三个r-x表示该组以外的用户的权限。

mkdir命令

创建文件夹的命令。

mkdir picture:在当前路径创建一个picture的文件夹

mkdir /home/admin/self/picture:在admin目录下创建一个picture文件夹,这种时候必须保证/home/admin/self路径是存在的,否则会报错。

如果想要admin/self路径不存在也能创建成功,就需要在命令后面加一个-pmkdir /home/admin/self/picture -p

mkdir a b:在当前路径创建两个文件夹

mkdir self/{a,b}:在self下创建两个文件夹,等同于mkdir self/a self/b

mkdir .aa:创建隐藏文件。

touch命令

创建文件的命令。

touch a.txt :在当前目录下创建a.txt文件。

gedit a.txt  在当前目录下创建一个a.txt并且使用Linux自带的gedit工具打开。

rm命令

删除文件或者文件夹

rm a.txt :删除文件

rm abc :删除文件夹,直接删会报错,需要加-rrm abc -r

rm *  :删除所有的文件,不删文件夹,一定要小心使用。

rm * -r :删除当前目录下的所有文件和文件夹

rm /tmp/* -rf 删除/tmp目录下的所有文件

上面的这些rm,执行的时候会提示是否确认删除,加一个-f就不会再提示了,比如rm * -rf  删除当前目录下的所有文件和文件夹

cp命令

拷贝命令

cp 1.txt 2.txt   可以理解为将当前目录的1.txt拷贝一份2.txt

cp 1.txt /home/admin/pic :将当前目录的1.txt移动到后面的pic文件夹下

cp a a_bak -r :拷贝文件夹,注意必须有-r

mv命令

剪切/移动命令

mv 1.txt 2.txt :将当前目录的1.txt重命名2.txt

mv 1.txt ~ :将当前目录的1.txt移动到指定目录:家目录

重定向

ls > 1.txt :将>左边的命令返回的结果写入到1.txt

ls >> 1.txt :将>>左边的命令返回的结果追加到1.txt

注意:重定向的前提是左边的命令有返回值,如果没有,没办法写入文件

cat 查看文件内容

cat 1.txt 1.txt中的内容显示到屏幕上

cat 1.txt 2.txt : 同时显示1.txt2.txt的内容到屏幕上

cat 1.txt 2.txt > 3.txt :将1.txt 2.txt的内容输入到3.txt

more查看文件内容

more也可以查看文件内容,如果文件内容比较长,适合用more命令,翻页查看。

more 1.txt : 查看1.txt的内容

空格键是向下翻页,b键是回退一页,q是退出,回车是向下翻一行。

管道命令

|是管道符,意思是将这个符号左边的命令的返回结果交给右边命令处理

ls -l / | more :将根目录下的文件列表用more的方式显示。

help命令

--help可以提供帮助文档,英文的,比如ls --help

man +命令也可以查看帮助文档。

键盘的操作键:

空格:显示下一页

回车:一次滚动一行

b:回滚一屏

f:前滚以屏

q:退出

/word:搜索word字符串

软连接和硬链接

软连接:类似Windows中的快捷方式,这个链接不记录文件内容,只是一个指向某个文件的快捷方式。软连接记录的是指向的文件的文件名。

ln -s 1.txt soft_link

soft_link指向了1.txt,等同于给1.txt设置了一个别名:soft_link

cat soft_link :显示的是1.txt中的内容

还可以将软连接放到不同的路径下:

ln -s /home/admin/test/1.txt /home/admin/soft_link

注意:如果是放到不同路径,前面的路径必须是绝对路径

软连接可以给文件夹创建

硬链接:类似拷贝,会将文件的内容同时记录到硬链接中,修改其中一份,其他的硬链接会同步修改。ll出来的结果的值中的连接数就是指的硬链接数,该文件有几个硬链接。

命令:ln 1.txt hard_link

硬链接不可以为文件夹创建。

grep命令

文本搜索命令

grep -n Desktop 1.txt

找1.txt中的有没有Desktop-n表示在第几行

根据文件内容找到具体在哪个文件的哪一行:

grep -n ab . -r

返回值:  ./2.txt:4:ab/

在当前路径下,找包含ab的内容

grep -n后面还可以跟正则表达式:

^a:表示以a开头

a$:表示以a结尾

  1. :点表示任意一个字符,除了 a后面有一个字符

grep -niv ab . -r

-n前面说了表示行号

-i 表示不区分大小写

-v 表示反向查找,即查找不包含ab的文件

find命令

find + 目录 + -name + *.txt

find ~ -name ‘*.txt’  home目录下找到文件名为txt结尾的,如果查找的内容带通配符,必须用单引号引起来。

find . -name 1.txt :寻找当前目录下的1.txt1.txt可以不带引号

tar打包命令

tar cvf 4.tar 1.txt 2.txt

打包,但是没有压缩,将1.txt2.txt打包到4.tar中,f必须放在最后,打包后的文件必须是.tar文件,也可以打包一个路径

tar tf 4.tar

1.txt

2.txt

查看4.tar中都包含哪些文件

tar xvf 4.tar  4.tar解压放到当前目录

其中-c/-x分别表示create/extract,即打包/解包.
-v 是verbose,表示显示打包/解包的详细过程.
-f 表示file,表示打包输出/解包输入文件

tar xvf 4.tar -C +目录 :后面加上-C(大写),然后加上已存在的目录,可以解压到目录中。

tar命令只是打包,但是没有压缩,下面的命令会压缩。

tar+gzip打包并且压缩命令

tar czf b.tar.gz *txt  

把当前目录下的txt结尾的文件,压缩成b.tar.gz

tar zxf b.tar.gz -C tar

解压b.tar.gztar文件目录下

tar+bzip2命令

tar jcf j.tar.bz2 *txt     # 压缩

tar xjf j.ftar.bz2 -C jtar     # 解压缩

zip命令

zip -r zz *txt   ZZ是要生成的压缩文件,会自动生成zip扩展名

unzip -d zz zz.zip  押解时自动创建目录

压缩率:zip最差,其次gzip,最好的是bzip2

zip比较通用,WindowsLinux都能用,gzip平时用的最多。

其他命令

which +命令:查找命令位置

su 回车输入密码,切换到root用户

su + 用户名: 从root用户切换到普通用户

passwd:修改密码,如果想要修改简单密码,用root用户修改。

exit : 退出当前用户,返回到上次用户,多次输入后整个退出

chmod命令

chmod是用来修改权限的

一种是字母的方式修改权限:

chmod u/g/o/a +/-/= rwx  文件

u: 表示文件所有者

g:表示文件所有者属于的组

o:组以外的人

a:表示三者都是

+:表示增加某个权限

-:表示删除某项权限

=:表示设定权限

r是可以读取,没有r权限就不能进入这个目录或者文件

w是可以写入,没有w权限就不能在该目录下创建文件

x是可以执行,没有x权限就意味着不能cd到这个目录

比如:chmod u + w file.txt  file.txt的创建者增加file.txtw权限。

rwx可以使用数字代替:

0:没有任何权限

1:执行权限

2:写权限

3:执行和写的权限(1+2

4:读权限

5:读取和执行权限(1+4

6:读取和写入权限(4+2

7:所有权限(1+2+4

runlevel命令

输入runlevel,返回当前的level

如果忘记密码,可以进入到level 1 修改,进入方法:init 1

init 5是切换到图形界面

init 3是命令界面

修改ip地址

首先可以查看当前的ip,输入ifconfig,正常来说会返回下面这样两个网卡,一个eth0,一个lo,不需要管,eth0就是本机的ip,可以看到ip地址是192.168.142.128

 

如果我们想要修改这个ip,可以输入命令:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

打开这个文件后,可以看到最下面这里的BOOTPROTO的值是dhcp,表示动态获取IP地址,想要修改的话就改成静态的:

 

按照图修改,改完后IP就是192.168.142.129了。

修改完成后需要重启服务:/etc/init.d/network restart命令即可。

然后再通过ifconfig查看当前ip

网卡配置完,如果想要上网,还需要修改DNS

nameserver 202.106.0.20

nameserver 8.8.8.8

然后ping www.baidu.comping通就可以上网了。

远程连接linux

IP配置完之后可以通过远程工具来连接linux服务器,常见的有:

puttysecureCRT(主流)、xshell

比如在windows上安装一个xshell免费版,新建一个会话,输入名称和linux服务器的ip,就可以使用xshell来操作linux了。

原文地址:https://www.cnblogs.com/sy_test/p/13578782.html