Linux系统常用命令

文件和目录的增删改查

创建文件

创建文件,你知道哪几个命令(哪几种方式)?

1)在/etc/idoxu目录,创建文件isTester.ini

2)在/usr/isTester/目录,创建文件isTester6.ini

3)/usr/idoxu/目录,创建文件isTester8.ini

4)/etc/idoxu/目录,创建文件isTester1.ini

touch /etc/idoxu/isTester.ini

vi /usr/isTester/isTester6.ini (最后要:wq保存退出)

echo ‘hello’ > /usr/idoxu/isTester8.ini

cp /usr/idoxu/isTester8.ini /etc/idoxu/isTester1.ini

命令touch & 同时创建多个文件

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间

不加任何参数且文件存在的情况下,是修改文件时间为当前时间

若文件不存在,系统会建立一个新的文件

1)在/etc/idoxu目录,同时创建文件 isTester666.ini idoxu666.ini

2)在/usr/isTester/目录,同时创建300个文件 isTester101.ini-isTester400.ini

3)更改文件 isTester.ini时间为当前时间(文件已存在的情况下就是更新时间)

cd /etc/idoxu && touch isTester666.ini idoxu666.ini

touch /usr/isTester/isTester{101…400}.ini

touch isTester.ini

-a 改变档案的读取时间记录

-m 改变档案的修改时间记录

-c 假如目的档案不存在,不会建立新的档案

命令 mkdir

1)在/usr/目录下,新建一个文件夹 isTester

2)在/etc/目录下,新建一个文件夹 idoxu

3)在/usr/isTester/目录下,新建三个文件夹 isTester1 isTester2 isTester3

4)在/usr/目录下,新建一个多层级文件夹 idoxu/istester/2020

mkdir /usr/isTester

mkdir /etc/idoxu

cd /usr/isTester&&mkdir isTester1 isTester2 isTester3

mkdir -p /usr/idoxu/istester/2020

命令 rm

rm命令用于删除一个文件或者目录,删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",文件一旦通过rm命令删除,则无法恢复

1)删除/root/isTester/目录下的文件isTester.ini (系统会询问是否删除)

2)强行删除/root/isTester/目录下的文件isTester.ini(直接删除,系统不会提示)

3)删除/root/isTester/目录下的所有.log文件

4)删除/root/isTester/目录下的 idoxu文件夹

5)强行删除/root/isTester/目录下的 idoxu文件夹

6)删除/root/isTester/目录下的所有内容

7)删除当前目录下的所有文件和目录

rm /root/isTester/isTester.ini

rm -f /root/isTester/isTester.ini

rm /root/isTester/*.log

rm -r /root/isTester/idoxu

rm -rf /root/isTester/idoxu

rm -rf /root/isTester/*

rm –r *

-f 直接删除,无需逐一确认

-r 将目录及以下文件亦逐一删除

命令vi

用vi创建文件+编辑文件

1)vi创建文件isTester666.ini

2)vi更新文件内容为"21 day linux learn, i am demi, in shenzhen."

vi isTester666.ini

按下a或i,输入内容后按下Esc,再输入:wq

命令:查看文件(静态查看)

命令参考:

#cat 由第一行开始显示档案内容

#tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写

#more 一页一页的显示档案内容

#less 与 more 类似,但是比 more 更好的是,他可以往前翻页

#head 只看头几行

#tail 只看尾巴几行

#nl 显示的时候,顺道输出行号

注:操作如上之前,可以先往isTester.ini插入几百行内容,执行命令 ls /bin/ > isTester.ini

1)查看文件 isTester.ini的内容

2)看文件 isTester.ini前20行内容

3)看文件 isTester.ini最后30行内容

4)显示文件isTester.ini 的第10至20行的内容

5)倒序显示文件isTester.ini 前10行的内容

6)显示文件isTester.ini 前10行的内容,并显示行号

cat isTester.ini

head -n 20 isTester.ini

tail -n 30 isTester.ini

head -n 20 istester.ini|tail -n 10

tac istester.ini|head -n 10

nl istester.ini|head -n 10

cat:

-n 由1开始对所有输出的行数编号

-b 和-n相似,只不过对于空白行不编号

1)把file1的文档内容加上行号后输入file2这个文档里

2)把file1和file2的文档内容加上行号(空白行不加)之后将内容附加到file3文档里

3)清空/etc/test.txt文档内容

cat -n file1 > file2

cat -b file1 file2 >> file3

cat /dev/null > /etc/test.txt

/dev/null称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据

命令 tail(动态查看)

1)实时显示文件istester.log最新内容

2)实时显示文件istester.log最新500条内容

tail -f istester.log

tail -500f istester.log

命令 find

find 命令用来在指定目录下查找文件

1)在/root/isTester 目录及其子目录下面查找名字为isTester.ini的文件

2)在当前目录及其子目录中查找扩展名为“ini”的文件

3)在/root/isTester目录下查找更改时间在5日以内的文件

4)在/root/isTester目录下查找更改时间在3日以前的文件

5)在/root/isTester目录下查找所有的目录

6)在/root/isTester目录下查找所有的文件

7)在当前目录,所有的普通文件中搜索istester这个词

8)在当前目录,移动1天以内的所有内容到~/idoxu目录

9)在当前目录,移动10天以前的所有内容到~/idoxu目录

10)在/usr/isTester目录,移动文件大小为零的文件到~/idoxu目录下的 0size/ 文件夹

11)在/usr/isTester目录,移动大于200M的文件到 ~/idoxu目录下的 200size/ 文件夹

find /root/isTester -name isTester.ini

find ./ -name “*.ini”

find /root/isTester -mtime -5

find /root/isTester -mtime +3

find /root/isTester -type d

find /root/isTester -type f

find ./ -type f|xargs grep “istester”

find ./ -mtime -1|xargs -i mv {} /idoxu

find ./ -mtime +10|xargs -i mv {} /idoxu

find /usr/isTester -size 0|xargs -i mv {} /idoxu/0size

find /usr/isTester -type f -size +200M|xargs -i mv {} /idoxu/200size

-name ".ini"文件名称符合.ini的文件

-size n 文件大小是n的文件

-type c 文件类型是c的文件

-cmin n 在过去n分钟内被修改过

-ctime n 在过去n天内被修改过的文件

1)将目前目录及其子目录下所有最近20天内更新过的文件列出

find . -ctime -20

文件和目录的相关命令

命令 cd

1)进入目录 /usr/idoxu/istester/2020/

2)进入上级目录

3)进入上两级目录

4)进入当前用户主目录(home目录)

5)进入当前目录

cd /usr/idoxu/istester/2020/

cd …

cd …/…

cd ~

cd .

命令 ls

1)列出当前目录中所有的子目录和文件

2)列出目录下的所有文件(包含隐**件)

3)列出文件的详细信息(包括权限、所有者、文件大小等)

4)列出当前目录中所有以 “isTester” 开头的详细内容

ls ./

ls -a

ls -l

ls -l|grep isTester 或 ls -l isTester*

命令 mv

1)进入/usr/idoxu/istester目录,移动当前文件夹2020,到/usr/isTester目录

2)移动/etc/idoxu目录下的文件isTester.ini ,到/usr/isTester 目录

3)当前目录istester.tar.gz 移动到/usr/isTester 目录,并重命名为istester2020.tar.gz

4)移动当前目录的isTester.tar.gz文件到上级目录

5)一条命令,移动两个文件 isTester.tar idoxu.tar 到目录 /usr/isTester

6)将文件isTester.tar重命名为demi.tar

7)将目录demi重命名为demi_git

cd /usr/idoxu/istester && mv ./2020 /usr/isTester

mv /etc/idoxu/isTester.ini /usr/isTester

mv ./istester.tar.gz /usr/isTester/istester2020.tar.gz

mv ./istester.tar.gz …/

mv isTester.tar idoxu.tar -t /usr/isTester

mv isTester.tar demi.tar

mv demi demi_git

命令 cp

cp命令主要用于复制文件或目录

1)复制当前目录部署包isTester.tar.gz 到备份目录/APP/istester/idoxu/bak 目录

2)复制文件夹 isTester 到部署目录/APP/istester/idoxu/

cp ./isTester.tar.gz /APP/istester/idoxu/bak

cp -r ./isTester/ /APP/istester/idoxu

cp命令报cp:omitting directory错误,说明被复制目录下面还有目录,不能直接拷贝

使用-r参数可解决:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件

命令 tar

tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件

1)压缩/etc/idoxu目录下的文件 isTester.ini 为 istester.tar.gz

2)压缩多个文件 isTester.ini idoxu.ini

3)压缩文件夹 isTester/

4)将当前目录,所有jpg文件打包成isTesterjpg.tar

5)将当前目录,所有jpg文件打包并压缩成isTesterjpg.tar.gz

6)解压 isTesterjpg.tar

7)解压 isTesterjpg.tar.gz

cd /etc/idoxu && tar -zcvf istester.tar.gz isTester.ini

tar -zcvf all.tar isTester.ini idoxu.ini

tar -zcvf isTester.tar isTester/

tar -cvf isTesterjpg.tar *.jpg

tar -zcvf isTesterjpg.tar.gz *.jpg

tar -xvf isTesterini.tar

tar -zxvf isTesterini.tar.gz

-z 通过gzip指令处理备份文件

-x 从备份文件中还原文件

-c 建立新的备份文件

-v 显示指令执行过程

-f<备份文件> 指定备份文件

命令 chmod

chmod命令用于改变linux系统文件或目录的访问权限

1)将文件isTester666.ini设为所有人皆可读取

2)将isTester666.ini设定为只有该文件拥有者可以执行

3)给文件isTester666.ini设置所有权限

4)将文件isTester666.ini设为所有人,只读权限

5)给idoxu目录下所有文件和子目录添加执行权限

chmod a+r isTester666.ini

chmod u+x isTester666.ini

chmod 777 isTester666.ini

chmod a=r isTester666.ini

chmod +x -R idoxu/
在这里插入图片描述

第0位确定文件类型

当为[ d ]则是目录

当为[ - ]则是文件

若是[ l ]则表示为链接文档

第1-3位确定属主(该文件的所有者)拥有该文件的权限

第4-6位确定属组(所有者的同组用户)拥有该文件的权限

第7-9位确定其他用户拥有该文件的权限

注意:对于root用户来说,一般情况下,文件的权限对其不起作用

Linux文件属性有两种设置方法:

一种是数字:

用421分为代表每个用户类型的rwx

一种是符号:

用ugo代表三种身份权限,此外a 则代表 all,即全部的身份

+(加入)、-(除去)、=(设定)

其他命令

命令 history

1)查看历史命令执行记录

2)查看命令mkdir 的历史执行记录

3)执行历史记录中,序号为178的命令(178这个序号你可以自己随便定一个)

4)清除历史

history

history | grep mkdir

!178

history -c

命令 ps

1)查看所有进程

2)显示所有进程信息,连同命令行

3)查看mysql进程

ps -A

ps -ef

ps -ef | grep mysql

命令 top

1)显示进程信息

2)监控每个逻辑CPU的状况

3)高亮显示当前运行进程

4)显示完整命令

5)退出top程序

top

top,按1

top,按b

top -c

top,按q

命令 wget

假设包地址 http://51.istester.com/isTester.png

1)下载isTester包

2)下载isTester包,存储名为isTester666.tgz

3)下载isTester包,后台形式下载

wget http://51.istester.com/isTester.png

wget -O isTester666.tgz http://51.istester.com/isTester.png

wget -b http://51.istester.com/isTester.png

命令 yum

yum是一个Shell前端软件包管理器

1)Linux下安装scp命令(假设是centos服务器,命令用yum)

2)Linux下安装rz、sz命令

yum install openssh-clients

yum install lrzsz

1)列出所有可更新的软件清单命令:yum check-update

2)更新所有软件命令:yum update

3)仅安装指定的软件命令:yum install <package_name>

4)仅更新指定的软件命令:yum update <package_name>

5)列出所有可安裝的软件清单命令:yum list

6)删除软件包命令:yum remove <package_name>

7)查找软件包 命令:yum search

命令 scp

scp 是linux系统下基于ssh登陆进行安全的远程文件拷贝命令,scp是加密的

(跨服务器文件传输,假设有两台服务器:192.168.1.21 和192.168.1.22 )

1)从Linux服务器192.168.1.22 拷贝文件 isTester.ini 到你当前操作的服务器(假设当前服务器 192.168.1.21 )

2)从Linux服务器192.168.1.22 拷贝目录 isTester/ 到你当前操作的服务器(假设当前服务器 192.168.1.21 )

延伸思考:如果是把「当前操作的服务器」的文件拷贝到远程服务器呢?

scp root@192.168.1.22:/root/isTester.ini /root/

scp -r root@192.168.1.22:/root/isTester/ /root/

scp /root/isTester.ini root@192.168.1.22:/root/

1)从本地复制文件到远程(另一种方法)

scp local_file remote_ip:remote_file

2)从本地复制目录到远程

scp -r local_folder remote_ip:remote_folder

练习中制定了用户名,命令执行后只需输入密码

这里没有指定用户名,命令执行后需要输入用户名和密码

3)如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用-P参数来设置命令的端口号

scp -P 4588 root@192.168.1.22:/root/isTester1.ini /root/isTester2.ini(拷贝后重命名为isTester2.ini)

4)使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的

命令 du

du会显示指定的目录或文件所占用的磁盘空间

1)显示目录或者文件所占空间

2)显示指定文件所占空间

3)显示多个文件所占空间

4)显示指定目录所占空间

5)显示多个文件所占空间的大小并统计总和

1)查看目录isTester/ 所占用的空间

du

du -sh app.log

du -sh app.log web.log

du -sh demi

du -c app.log web.log

du -h /isTester

-s 仅显示总计

-h 以K,M,G为单位,提高信息的可读性

-c 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

命令 grep

grep 命令用于查找文件里符合条件的字符串

1)在当前目录中查找后缀有file字样的文件中包含test字符串的文件,并打印出该字符串的行

grep test *file

查找指定目录/etc及其子目录下所有文件中包含字符串"demi"的文件,并打印出该字符串所在行的内容

grep -r demi /etc

查找文件名中包含test的文件中不包含test的行

grep -v test test

-r 以递归的方式查找符合条件的文件

-v 显示不包含匹配文本的所有行

1)查看当前服务器内网IP

2)查看当前服务器外网IP

3)查看当前服务器硬盘空间

4)清空当前终端屏幕

5)查看你的Linux服务器的版本号

ifconfig

curl cip.cc

df -h

clear

cat /etc/issue & lsb_release -a

df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

-h 使用人类可读的格式

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Monster_起飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值