linux 常用命令

转载自:
https://www.cnblogs.com/royfans/p/7305533.html
http://www.bubuko.com/infodetail-1832243.html

(1)Linux的文件系统目录配置
要遵循FHS规范,规范定义的两级目录规范如下:
/home
每个账号在该目录下都有一个文件夹,进行数据的管理

/usr
有点像windows的program files和winNT结合的目录,主要包括系统的主要程序、本机端额外安装的软件、图形接口所需要的文档、额外的函数库、共享目录与文件等

/bin /usr/bin /usr/local/bin 存放执行挡 如可执行的指令等

/boot 存放linux开机会用到的文件

/dev 存放linux的任何装置和接口设备文档

/etc 存放系统设定文档 如账号密码文件、各种服务的起始档等

/lib /usr/lib /usr/local/lib 系统使用的函数库放置的目录

/mnt /media 是软盘和光盘预设挂载点的地方

/opt 主机额外安装软件所摆放的目录

/proc 该目录是一个虚拟档案系统,他放置的数据都是在内存中,所 以本身不占用任何的硬盘空间

/root 系统管理员的家目录

/sbin /usr/sbin /usr/local/sbin 放置一些只有系统管理员才能动用 的执行指令

/srv 一些服务启动之后,这些服务所需要取用的数据目录

/tmp 让一般使用者或者正在执行的程序暂时放置档案的地方

/var 主要针对系统执行过程中,常态性变动档案放置的目录

文档的路径有:绝对路径 (absolute) 与相对路径 (relative)。
绝对路径为:由根目录 (/) 开始写起的文件名或目录名称
相对路径为相对于目前路径的文件名写法。
./表示相对当前路径,../表示相对于上一级目录的路径,~代表home目录,~account代表当前账号的home目录)

(2)文件系统命令
Linux的文件系统采用异步的方式,对文件的修改不会马上写入磁盘,一般可以人为的使用sync命令进行手动的数据同步到磁盘

(1) linux可以挂载很多文件系统,查看命令
cat /proc/filesystems

(2) 查看目录的使用情况命令
df -h //以G为单位查看
df -m //以M为单位查看

(3) 查看文件或目录大小
du -sh //查看当前目录总大小
du -sh * //查看所有子目录大小

(4) 目录的切换命令
cd ..
cd ~
cd /home //进入根目录下面的home目录
cd ./home //进入当前目录下的home目录

(5) 打印当前的路径
pwd (print working directory)打印当前工作目录

(6) 创建目录
mkdir (-m 参数可以预设权限 -p参数可以递归的创建目录)

(7) 删除目录
rmdir(只能删除空目录)
如果连同内容都删除采用 rm -rf 命令

(8) 文档的查询
ls
//显示当前下面的文件及文件夹
ls -a
//显示当前目录下的所有文件及文件夹包括隐藏的.和..等
ls -al
//显示当前目录下的所有文件及文件夹包括隐藏的.和..等并显示详细信息,详细信息包括大小,属组,创建时间

(9) 文档的复制
cp src des 若复制文件夹,加上-r参数
cp -r /usr/men /usr/zh
//交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中
r-Recursive递归的首字母

(10) 文件的删除
rm a.txt
// 删除普通文件a.txt
rm -r a/
//删除目录a
rm -rf a/
//强制删除目录a

(11) 文档的移动
mv file desdir
mv a b c d //将a b c移动到d中
//注意:目录d必须在最后面,而且它前面不能再出现其他目录

(12) 文档重命名
mv desdir desdir2

(13) 取文件名
basename

$ basename /home/me/desktop/test.txt
test.txt
$ basename /home/me/desktop/test.txt .txt
test

(14) 取得路径名
dirname

$ dirname /home/me/desktop/test.txt
/home/me/desktop

(15) 文档内容的查阅
cat -n :显示文件所有内容,-n表示打印行号

(16) 文件内容的撷取
head tail
head [-n number] file //显示file的前number行
tail [-n number] file //显示ifle的后number行

(17) 文件时间
linux的文档有三个时间mtime(修改时间), atime(访问时间),ctime(状态修改时间)
touch命令可以用于创建新文档或者修改linux文档的时间

命令格式: touch [选项] [参数]
选项:

-a   只更改文件的读取时间。
-m   只更改文件的修改时间。
-c   如指定的文件不存在,不会建立新的文件。
-d   更改指定日期时间,而不是当前系统时间,可设定多种格式。
-r   把指定的文档或目录的时间设置成与参考文档或目录的日期时间一致。
-t   使用指定的时间,而不是当前系统时间,可设置多种格式。
--help  显示帮助
--version  显示版本信息

例子:

touch   abc.txt    
如果abc.txt不存在则创建文件 abc.txt,
如果abc.txt存在,则使用当前时间更改文件时间(三个都改)

touch  -r test2  
将文件日期更改为参考文件日期。

touch  -d "2 days ago"  test2   
将文件修改日期调整为两天前。

touch  -t "01231215" test2   
将文件修改日期调整为指定日期,1231215 分。

(18) linux文档的搜索
whereis locate(这两者是直接搜索数据库,速度快)
find(搜索硬盘,速度较慢,但数据最齐全)
which(用来搜索执行挡$Path设置的目录)
which ls

whereis file //找出file的位置
locate file//查找所有目录下的文件
find file//查看当前目录下的所有文件

find举例:

find -name "*.txt" -print 查找txt结尾的文件并输出到屏幕上 
find /cmd ".sh" -print 查找/cmd目录下所有sh文件,并输出 
find . -perm 755 -print 查找当前目录下权限为755的文件,并输出 
find `pwd` -user root -print 查找当前目录下属主为root的文件,并输出 
find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件 
find /var -mtime -5 -print 查找/var目录下更改时间为5天内的所有文件 
find /var -mtime +5 -print 查找/var目录下更改时间为5天以前的所有文件 
find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的所有文件。 
find /var -type d -print 查找/var目录下所有目录 
find /var -type l -print 查找/var目录下所有的符号链接文件。 
find . -size +1000000c -print 查找当前目录下大于1000000字节的文件 
find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找 
find . -type f -exec ls -l {} \; 查找当前目录下是否有普通文件,若有则执行ls -l 

(19) 同时显示两个文件的差异
diff -c file1 file2
以并列的方式显示两个文件的差异
diff -y file1 file2

(20) 文档链接

1.源文件被删除后,并没有影响硬链接文件;软链接文件在centos系统下不断的闪烁,提示源文件已经不存在

2.重建源文件后,软链接不在闪烁提示,说明已经链接成功,找到了链接文件系统;重建后,硬链接文件并没有受到源文件影响,硬链接文件的内容还是保留了删除前源文件的内容,说明硬链接已经失效

In file1 file2 //建立file1的硬链接,命名为file2
In -s file1 file2 //建立file1的软连接

<其他有用的命令>

(1) 查看输入的历史命令
history number or ctrl+r

(2) 获取主机的外网ip命令
curl ifconfig.me or curl curlmyip.com

(3) 查看ip地址
ifconfig

(4) 查看网络连通性
ping

(5) 查看服务端口连通性
telnet ip port

(6) 查看服务网络端口
netstat -ntlp

(7) 查看当前使用用户
who

(8) 查看当前主机名字
hostname

(9) 正则表达式搜索
grep

(10) 切换为root
sudo -i

(11) 切换为普通user
su user

(12) 退出当前用户
exit

(13) 终止程序
ctrl+c

(14) 远程登录
ssh hostip -I user -p port

(15) 发送http get请求
curl -v url

(16) 发送http post请求
curl -d “param1=value1&param2=value2” url

(17) 发送http put请求
curl -v -X PUT url -H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值