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. 【Java每日一题】20170320

    20170317问题解析请点击今日问题下方的“[Java每日一题]20170320”查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; public cla ...

  2. Docker 系列三(容器管理).

    一.运行容器 1.基于镜像新建一个容器并启动 : tomcat:8.0 -i:交互式操作 -t:终端 -rm:容器退出后随之将其删除,可以避免浪费空间 -p :端口映射 -d :容器在后台运行 指明了 ...

  3. SQL优化一(SQL使用技巧)

    1.行列转换: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值); select decode(sign(变量1-变量2),-1,变量1,变量2) from dual ...

  4. JavaAndroid项目结构

    使用Java的Android项目的结构 src: 源码文件夹 gen: 自动生成的源码文件夹 assets: 资产目录 bin: 编译生成的文件目录(apk等) libs: jar包 res: 资源文 ...

  5. JVM-String.intern()

    故事起源于书籍<深入理解Java虚拟机>,案例如下: public class RunTimeConstantPoolOOM { public static void main(Strin ...

  6. 如何在Promise链中共享变量?

    译者按: 使用Promise写过异步代码的话,会发现在Promise链中共享变量是一个非常头疼的问题,这也是Async/Await胜过Promise的一点,我们在Async/Await替代Promis ...

  7. react学习(三)之生命周期/refs/受控组件 篇

    挂载/卸载 //在类组件中 class Clock extends React.Component { constructor(props) { super(props); this.state = ...

  8. 洛谷P4704 太极剑(乱搞)

    题意 题目链接 Sol 不会正解 写了发暴力过了,貌似跑的还挺快?.. // luogu-judger-enable-o2 // luogu-judger-enable-o2 #include< ...

  9. 洛谷P4591 [TJOI2018]碱基序列(hash dp)

    题意 题目链接 Sol \(f[i][j]\)表示匹配到第\(i\)个串,当前在主串的第\(j\)个位置 转移的时候判断一下是否可行就行了.随便一个能搞字符串匹配的算法都能过 复杂度\(O(|S| K ...

  10. Netty实现一个简单聊天系统(点对点及服务端推送)

    Netty是一个基于NIO,异步的,事件驱动的网络通信框架.由于使用Java提供 的NIO包中的API开发网络服务器代码量大,复杂,难保证稳定性.netty这类的网络框架应运而生.通过使用netty框 ...