3-1文件目录操作命令(cd pwd mkdir rmdir rm)

绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;

相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。

1.cd命令(change directory),切换目录

cd .     ==>当前目录
cd .. ==>返回上一层目录
cd - ==>返回上一次访问目录
cd ~ ==>返回家目录

2.pwd命令(print working directory),显示当前所在目录

pwd
pwd -P ==>显示出确实的路径,而非使用连结 (link) 路径,加-P

3.mkdir命令(make directory),创建目录

mkdir /test1
mkdir -p /test1/test2/test3 ==>创建递归目录,必须带-p

4.rm命令(remove directory)删除命令

rmdir /test1      ==>删除空目录
rmdir -p /test1 ==>删除目录和子目录

3-2文件目录管理命令(ls scp cp mv rm)

1.ls(list)查看文件或目录

ls -a    ==>列出全部文件,含隐藏文件
ls -l ==>列出文件名、属性、权限
ls -d ==>仅列出目录
ls -al ==>列出所有文件及属性、权限,含隐藏文件
ls -l /tmp/test1 /tmp/test2 ==>列出多个指定目录的文件

2.cp(copy)复制文件或目录

cp -r /etc  /tmp    ==>复制目录,加-r
cp ~/.bashrc /tmp/bashrc ==>复制文件,并更改名称
cp -a /var/log/wtmp wtmp2 ==>保留原有文件的属性和权限,加-a
cp source1 source2 source3 dir ==>复制多个文件或目录到dir

3.scp (secure copy)基于ssh登陆进行安全的远程文件拷贝

scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file

4.mv(move)移动文件或目录

mv file1 file2   ==>文件变更名称
mv file1 dir1 ==>文件移动到指定目录
mv dir1 dir2 ==>目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv -f dir1 dir2 ==>操作前无任何提示,强制执行,加-f

5.rm(remove)删除文件或目录

rm -rf  ~/.bashrc  ==>删除目录及子目录所有文件,加-r;无确认信息,强制执行,加-f
rm -i ~/.bashrc ==>删除前提示防止误删,加-i

 3-3文件内容修改命令

1.VI 编辑器基本使用方法

2.VI命令模式下大小写转换

3.VI命令模式下删除拷贝与粘贴

4.VI命令模式下替换

:s/p1/p2/g       ==>将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g ==>将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g ==>将文件中所有p1均用p2替换

5.VI命令模式下其它常用命令

 set nu  ==>显示行号
u ==>回退上一次操作
. ==>重复进行上一次操作
/xxx ==>查找某个关键字“xxx”
:x ==>直接跳转到第x行 连续按两次大写的“Z”键 ==>保存退出
连续按两次“Esc”键 ==>确保vi在命令模式下。

3-4文件内容查看命令

3-5文件大小查看命令

3-6文件压缩打包命令

3-7grep命令

 RPM命令

1.模式与参数(root权限才可以执行rpm)

.安装模式:rpm–i
.查询模式:rpm–q
.验证模式:rpm–V或–verify
.删除模式:rpm–e
.安装参数:rpm <model> <option> --force 即使覆盖属于其它包的文件也强迫安装
--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

2.使用示例

rpm -ivh   ==>安装一个包
rpm -Uvh ==>升级一个包
rpm -e ==>移走一个包
rpm -qa ==>列出所有被安装的rpm package

脚本中有DOS字符^M

定位问题:file查看,cat -v 查看

解决问题:dos2unix

 字符串截取

str="abcdef" 

echo ${str:}           # 从第二个位置开始提取字符串, bcdef
echo ${str::} # 从第二个位置开始提取3个字符, bcd
echo ${str:(-):} # 从倒数第二个位置向左提取字符串, abcde
echo ${str:(-):} # 从倒数第二个位置向左提取6个字符, cde

shell include 不止可以包含函数,也可以包含全局变量。

. /home/macg/testshell/testlib

if [ $SYSTEM = "Linux" ] ; then # 如果是linux话输出linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then 
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi # 判断结束,以fi结尾

参考文档:

Linux文件和目录管理

rpm常用命令及rpm参数介绍

【Linux基础】Linux常用命令汇总的更多相关文章

  1. Linux基础之常用命令整理(一)

    Linux 操作系统的安装 如今比较流线的linux操作系统 Centos Redhat  Fedora Ubuntu, 安装操作系统的提前是要有操作系统的镜像文件(.iso文件)并且必须为系统指定一 ...

  2. Linux基础、常用命令

    Linux作为IT程序员必知必会知识,将自己学习到的和最近工作常用的一些命令进行总结,作为我结束过去生活和开始类程序员的序吧! 如果你想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)或网上视频 ...

  3. linux vi(vim)常用命令汇总(转)

    前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...

  4. Linux基础之常用命令(1)

    一 linux命令的格式 1.命令  [选项]  [参数] ls  list    显示目录下内容 ①  命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能 ...

  5. linux之GDB常用命令汇总

    查看gdb的版本号 (1)rpm -q gdb 会显示是否安装gdb及版本号 (2)gdb --version也可以 breakpoint b main; b 20; 设置断点 breakpoint ...

  6. Linux基础之常用命令整理(二)

    Linux系统启动流程 bios(找到启动介质) --> mbr(找到boot loader  512B 446引导信息 64分区信息 2 标志位 ) -->grub(选择操作系统或者内核 ...

  7. Linux基础之常用命令篇

    一.命令的基本格式 [root@localhost~] root为用户名 -表示当前所在位置 localhost主机名 ‘#’超级用户 '$" 普通用户 命令的基本格式: 命令 [选项] [ ...

  8. Linux基础和常用命令

    经常使用的命令: #查看端口被占用情况 netstat -tunlp|grep #查看java进程 ps -ef|grep java #压缩前端工程 rar a -ep1 ./update/win32 ...

  9. linux 性能分析常用命令汇总

    CPU性能分析工具: vmstatpssartimestracepstreetop Memory(内存)性能分析工具:vmstatstracetopipcsipcrmcat /proc/meminfo ...

  10. 【原创】Linux基础之常用命令

    1 磁盘.cpu.内存相关 查看全部设备信息 # lspci 查看整体磁盘空间占用情况 # df -h 查看整体磁盘inode占用情况 # df -i 查看文件详细信息 # ls -l $path 查 ...

随机推荐

  1. [转]启动container的时候出现iptables: No chain/target/match by that name

    本文转自:https://blog.csdn.net/u013948858/article/details/83115388 问题: Error response from daemon: drive ...

  2. [转]How To Send Transactional Email In A NodeJS App Using The Mailgun API

    https://www.npmjs.com/package/mailgun-js 本文转自:https://www.mailgun.com/blog/how-to-send-transactional ...

  3. c# 模拟网易足彩算法

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  4. [android] 开启新的activity获取他的返回值

    应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面 短信发送时,可以直接选择系统联系人 界面布局是一个线性布局,里面右侧选择联系人在EditText的右上,因 ...

  5. java集合框架-List集合ArrayList和LinkedList详解

    List 集合源码剖析 ✅ ArrayList 底层是基于数组,(数组在内存中分配连续的内存空间)是对数组的升级,长度是动态的. 数组默认长度是10,当添加数据超越当前数组长度时,就会进行扩容,扩容长 ...

  6. 如何清除浮动(float)所带来的影响

    清除浮动(float) 1.定义和用法 在w3c中给了浮动这样的定义. "float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素 ...

  7. Python国内豆瓣源

    Python国内豆瓣源 https://pypi.doubanio.com/simple/

  8. 洛谷P2000 拯救世界(生成函数)

    题面 题目链接 Sol 生成函数入门题 至多为\(k\)就是\(\frac{1-x^{k+1}}{1-x}\) \(k\)的倍数就是\(\frac{1}{1-x^k}\) 化简完了就只剩下一个\(\f ...

  9. Javascript 对象 - 数组对象

    JavaScript核心对象 数组对象Array 字符串对象String 日期对象Date 数学对象Math 数组对象 数组对象是用来在单一的变量名中存储一系列的值.数组是在编程语言中经常使用的一种数 ...

  10. Android项目实战(四十八):架构之组件化开发

    什么要组件化开发? 看一下普通项目的结构 , 一个项目下有多个Module(左侧图黑体目录),但是只有一个application,0个或多个library(在每个medel下的build.gradle ...