Linux命令总结

alias d="npm run dev" // 给命令设置别名 ????
alias |grep d // 查看命令是否生效
unalias d // 删除别名
alias // 查看具体命令的别名
cd - // 返回上一次所在的目录 ❤️
man rm // 查看rm的作用和使用方法, 按q退出 ????????
pwd // 查看目录的完整路径
cp 源文件 目标文件 // cp 参数 源文件 目标文件 参数-r表示对目录进行递归操作 常用 cp -a
//参数含义: ①-p 保留原始文件属性 ②-d 若对象为"链接文件",则保留"链接文件"属性 ③-r 递归持续复制(用于目录) ④-i 若目标文件存在则询问是否覆盖 ⑤-a 相当于(-pdr)
mv 源文件 目标文件 // 用于剪切文件或将文件重命名。如果目标文件存在,移动文件到目标文件。否则则是改名操作
diff file1 file2 // 比较并显示两个文件的差异
ps // 显示当前进程状态
lsof -i :9527 // 显示端口9527所占用的进程。 
kill -9 30142 // 根据PID号终止进程
history // 列出最近执行过的几条命令及编号 ????
!513 // 重复执行最近执行过的某条命令, 配合history列出的命令使用。 ????
ctrl+r // 搜索最近使用的命令 ????
date // 显示系统的当前日期和时间 === date "+%Y-%m-%d %H:%M:%S" // 2020-12-22 16:53:34 
date -s "20170901 8:30:00" // 将系统的当前时间设置为2017年9月1日8点30分的date
cal // 显示日历
ctrl+k // 剪切(删除)光标处到行尾的字符
ctrl+u // 剪切(删除)光标处到行首的字符
ctrl+w // 剪切(删除)光标前的一个单词
ctrl+y // 粘贴ctrl+u/ctrl+k/ctrl+w删除的文本
ctrl+a // 光标回到行首
ctrl+e // 光标回到行尾
ctrl+f // 光标向右移动一个字符(相当于方向键右键)
ctrl+b // 光标向左移动一个字符(相当于左向键右键)
option+方向键 // 光标移动一个单词
ctrl+c // 中断终端正在执行的任务或删除整行
ctrl+l // 清除屏幕????
mkdir // 创建空白的目录。 可以结合-p参数来递归创建具有嵌套叠层关系的文件目录  mkdir -p a/b/c
ctrl+r // 搜索以前使用过的命令
echo 'hello world!' >> 1.txt // 将hello world! 添加到1.txt文本的末尾
vim 1.txt // 打开1.txt
rf // 删除文件或目录
:wq // 保存编辑操作退出
:wq! // 保存编辑强制退出
top // 动态的监视进程活动与系统负载等信息
who // 用于查看当前登入主机的用户终端信息
cat // 查看纯文本文件  -n 显示行
more // 查看纯文本文件(内容较多的)
find // 按照指定条件来查找文件  find *a* 查找包含a的文件
find . -name test.js // 查找当前目录下的所有test.js文件 ????   find . -name "test*" 支持用通配符
echo $SHELL // 将变量SHELL的值输出到屏幕上
export -p // 打印所有全局变量;
export MYEVN=nihaoa哥们"哈哈" // 设置全局变量;
echo $MYENV // 查看全局变量 
unset MYEVN // 取消某个变量
which cmd // 查看cmd命令的全路径
cmd --help // 查看cmd的帮助命令
wc [option] [file] // 统计文件的行数、单词数或字节数
复制代码

2. linux/mac下自定义命令alias, 永久生效(重启不失效)

编辑~/.bashrc文件。如果没有就新建touch ~/.bashrc 在末尾每行加入一个alias命令。 打开文件的命令open -e ~/.bashrc

function svnUpdate(){
    local day=`date "+%Y/%m/%d %H:%M:%S"`
    if [[ $1 == "" ]]
    then
            npm run build && rm -rf node_modules && svn add * --force && svn ci -m "测试"$day && cnpm i && npm run dev
       else
            npm run build && rm -rf node_modules && svn add * --force && svn ci -m "$1" &&  
cnpm i && npm run dev
        fi
}

alias b='npm run build'
alias d='npm run dev'
alias cpb='npm run build && rm -rf /Users/andy/document-root/rootDist/*.zip && cp ./*.zip /Users/andy/document-root/rootDist && open /Users/andy/document-root/rootDist/'
alias sc='svnUpdate'
复制代码

保存文件后运行: source ~/.bashrc。 如果还不行的话,说明没有~/.bash_profile文件,或者文件中没有执行.bashrc文件。 (.bash_profile文件是用户登陆终端的时候会自动执行的文件,一般此文件中会调用.bashrc) 如果是这样,需要打开(如果没有的话先创建)文件: ~/.bash_profile 在里面加入一行:source ~/.bashrc。 退出保存后执行 source ~/.bash_profile 使刚才的配置生效就可以了。

注意: 如果你的终端安装了Zsh,发现使用上面的步骤后并不一定生效,经过排查后发现Zsh有自己的启动默认执行的文件 ~/.zshrc ,要在Zsh中使alias永久生效,则仅需编辑 ~/.zshrc 文件,操作方法跟上面一致。 最后输入alias查看自己的别名有没有生效吧。

open -e ~/.zshrc
source ~/.zshrc
复制代码

建议安装zsh使用更多的功能。 目前github已经有121kstar了, 足见它的流行。zsh git地址 Linux命令总结

3. vi命令详解

vi是Linux命令行解码下的文字编辑器。而vim是vi命令的曾倩版,与vi编辑器完全兼容, 建议使用vim。 一般来说, vim可分为三种模式: 普通模式, 编辑模式, 命令模式。

  • 普通模式: 用vim命令打开一个文件, 默认状态就是普通模式。 在普通模式中, 不能进行编辑输入操作。 但是可以执行一些操作命令如删除、复制、粘贴等之类的工作
  • 编辑模式: 只有按下i, I, o, O, A, r, R, s, S(其中i最常用)等字幕后才可以执行录入文字等编辑操作。看文件是否处于编辑模式,就是串口左下角要有插入的标记--INSERT----插入--。按esc退到普通模式。
  • 命令模式: 在普通模式下。 输入:/?时,光标会自动定位在那一行。 在这个模式中,可以执行保存、退出、搜索、替换。输入:wq(保存退出)或:wq!(强制保存退出)。按esc退到普通模式

4. 如何在linux终端同时运行多个linux命令

在一行中运行两个或多个命令可以节省大量时间,并在Linux中提高效率。 而在linux中,有三种方法可以在一行中运行多个命令; && ||

  1. 使用 ; 符号运行多条命令
cmd1;cmd2;cmd3
复制代码

cmd1将首先运行,不管cmd1运行成功还是出现错误,cmd2都会在它之后运行,当cmd2命令完成时,cmd3将会运行

  1. 使用 && 符号运行多条命令

有时候希望确保Linux命令中,只有在前一个命令成功结束时,下一个命令才会运行。这就是逻辑和运算符&&出现的地方:

cmd1 && cmd2 && cmd3 // 短路逻辑
复制代码

当&&前面的一个命令出现错误时,&&分隔的命令会停止执行后面的命令

  1. 使用&符号运行多条命令

后一个命令必须等前一个命令运行完, 不关心是否成功,使用单与号(&)

cmd1 & cmd2  // cmd2必须等cmd1运行完, 不论cmd1是否成功。 cmd1和cmd2都会运行
复制代码

  1. 使用 || 符号运行多条命令

可以使用逻辑操作符(||)运行命令行,但是只有在前一个命令出现错误时才运行下一个命令

md1 || cmd2 || cmd3 // 这三个命令并行执行
复制代码

如果cmd1运行失败,则运行cmd2。如果cmd2运行成功,cmd3将不会运行。 5. 合并使用&&||运算符 例如,可以检查文件是否存在,并相应地打印消息

[root@localhost ~]# [ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
复制代码

5. ctrl + z挂起后, 恢复的命令是什么

  • fg: 将后台程序转入到前台
  • bg: 将前台程序转入到后台


作者:andy凌云
链接:https://juejin.cn/post/6907045464940478477
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇:Mybatis配置类型的别名


下一篇:nginx 一个端口配置多个文件路径