【Linux】Linux基本命令扫盲【转】

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介:

转自:http://www.cnblogs.com/lcw/p/3762927.html

【VI使用】

1、在命令行模式
     :在vi编辑器中将光标放在函数上,shift + k 可直接man手册,退出man手册直接按两次q
     :直接 gg=G 可以使文件自动对齐
     :gg 定位到文件的开头,G定位到文件的末尾
     :M 定位到文件的中间,H 最上面一行,L 屏幕最下面一行,G 文章末尾一行
     :shift+ctrl+n 打开一个新的终端
     :[5]yy 复制光标以下5行,p粘贴
     : yw 复制一个单词
     :0 定位到每行的开头,不进入输入模式,[n]ddnp:dGdw1:Dd0/dd定位到每行的末尾:[n]dd剪贴n行,p粘贴:dG删除光标后的所有内容:dw删除1个单词:D删除当前行光标后面的部分:d0/d删至行首,d 删至行尾
     : v 撤销,. 重复
     :!command 执行shell使命
     : r !command 将shell命令的执行结果保存到文件
     : nr !command 将shell命令的执行结果保存到第n行

2、在底行模式下:
     : x  保存退出
     : new 打开一个新的终端
     : read 1.txt 将1.txt 也读入到该文件中
     : %! sudo tee % > /dev/null 当权限不够时可强制保存
     : 45 可将光标定位到第45行
     : w 1.txt 将文件另存为1.c文件
     : sp 1.txt  将1.txt在同一终端中同时打开(横向)
     : vsp/vs 1.txt 同上(纵向)
3、在shell命令行:
     :ctrl+a 定位到命令的开头,ctrl+e 定位到命令行的末尾
     : vi 1.txt +45 打开文件并定位到第45行
     :ctrl+l:直接进行清屏(和clear一样)
4、块选择:
     ctrl+v 然后操作方向键
5、替换
     : s/m/n/g 将光标所在行的 m 替换为 n 
     : %s/m/n/g 全部替换
6、快速编辑代码
     ctrl + n / ctrl + p 变量、函数快速补全
     ctrl + x + l 代码行补全

 

【dpkg工具(本地安装)】

1、安装软件(取软件下载包所在的目录执行):
     dpkg -i  xxxx.deb
2、卸载软件:
     dpkg -r  xxxx

【apt工具(远程下载)】

1、重要目录和文件:
     /var/cache/apt/archives :该目录存放已经下载过的deb软件包
     /etc/apt/source.list :镜像源网址
2、安装软件:
     1: 更新镜像源: apt-get update
     2: 安装软件包: apt-get install g++
3、重新安装:
     apt-get install --reinstall g++ 
4、卸载软件:
     apt-get remove 软件包名字
5、软件升级:
     apt-get upgrade --->将系统中所有的软件升级到最新版本(如果网速慢的话,需要很长的时间,慎用)
6、删除下载软件包:
     apt-get clean --->将/var/cache/apt/archives目录中所有下载过的软件包删除

【网络配置】


1、网络配置
     目录:/etc/network/interfaces
     配置:address/gateway/netmask
2、DNS配置
     目录:/etc/resolv.conf
     配置:nameserver
3、重启网络
     /etc/init.d/networking restart
4、测试网络
     ping www.baidu.com

【shell】

    shell是一个命令行解释器,负责将命令解释成内核可以识别的东西,目前我们使用bash
    vi /etc/shells  #查看系统中支持哪些shell
    cd ~  #切换到用户主目录
    ls -al #详细实现当前目录中的文件内容
    ls -al;cd / #在一行中输入多个命令,中间加分号
    cd - #回到上一次所在目录
    alias myls='ls -al'  #将ls -al 命令定义一个别名myls
    unalias myls 取消别名
    cp ./*.c 123  #将当前目录中所有的.c文件拷贝到123目录
    cp ./* 123 #将当前目录中所有的文件拷贝到123目录
    ls -al | grep txt #使用管道来查找当前目录中的txt文件
    ls -al > 1.txt #将ls -al 命令的输出内容写入1.txt文件(>> 追加的方式)
    wc -w < 1.txt  #将1.txt作为wc命令的输入源,统计单词个数(dup,dup2)
    ls `pwd` #将pwd命令的输出作为ls命令的参数,(``为反引号)
    man 2/3 commands # 2:系统调用 3:库函数
    ls --help #查看ls命令的帮助信息
    info ls  #查看ls程序的帮助页
    sync #保证内存中的缓冲数据,动态实时的写入磁盘文件
    sudo su #只切换用户,不切换shell(用户目录)
    sudo su - #用户和目录都切换
    env #查看系统中所有的环境变量
    echo $HOME #查看环境变量HOME的值
    mount /dev/cdrom /mnt/  #将dev下的光盘cdrom挂载到mnt目录下
    umout /mnt/  #卸载

【用户ID】


     UID #用户ID 
     GID #组ID
     CUID #创建者的用户ID
     CGID #创建者的组ID
     EID #有效用户ID

    adduser zhangsan #添加用户
    deluser zhangsan #删除用户
    deluser  --remove-home  user1  #删除用户user1的同时删除用户的工作目录 

【PS】

    ps #查看当前终端运行进程,前台进程(相对应的是守护进程)
    ps -aux #查看系统中所有运行的进程(进程表)
1、进程的状态(STAT):
   S:睡眠
   R:运行
   T:停止
   Z: 僵尸进程
   N:低优先级进程
   s: 会话的发起者
   l:包含线程的进程
   <: 高优先级进程
   +:前台进程
   []:系统级进程
    ps -ef #同时可以查看系统中进程的父进程ID(PPID)
    ps -el #可显示所有进程的优先级
    top #动态查看系统进程的状态
2、进程的优先级(-20~19):-20最高,19最低,默认为0
    sudo nice --5 ./hello #将hello运行时的优先级设为-5
    sudo renice -5 19807 #将一个正在运行的进程(PID 为19807)的进程的优先级修改为-5
    kill -l #显示系统中所有的信号    #define SIGKILL 9
    kill -SIGKILL(或-9) 1152  #给pid为1152的进程发送SIGKILL信号,杀死它

 

【ls】

    ls -al
1、文件类型:
     -:普通文件(文本文件、二进制文件)
     l:链接文件(软连接)
     d:目录文件
     p:管道文件
     c:字符设备文件(键盘,鼠标)
     b:块设备(硬盘、Flash)
     s:套接字文件(socket)
2、文件的权限:
     r(4) w(2) x(1)    r  -  x       -  w  x 
     所属用户          所属用户组    其他用户

    cd ../../  :回到上上一级目录
    cd ~       :回到家目录
    touch 1.c 2.c 3.c :同时创建多个文件(一个普通文件被创建时,没有可执行权限,默认权限为0644:0666-umask)
    mv file_old.c file_new.c  : 实现文件的重命名
    rm 1_day/ -fr  :强制删除目录
    rm ./* -fr   :清空当前目录
    cp  –r  dir1/  dir2:复制目录
    mkdir  –p  dir1/dir2/dir3 :目录的嵌套创建 
    rmdir dir1 -p :删除目录下所有的子目录
    head -8 pai.c :显示文件的前8行
    tail -8 pai.c :显示文件的后8行

    ln -s pai.c 1:给文件pai.c创建一个软连接1,相当于快捷方式(将pai.c删除,则链接出错,再重新建立pai.c,又可生效)
    ln pai.c 1:给文件创建一个硬链接1, 将pai.c删除之后,不会影响1对源文件的访问(pai.c和1共享文件的i节点)

 

【压缩和解压】

1、zip格式:
    zip  -r dir.zip  dir/  :将目录进行压缩
    unzip dir.zip  :解压
2、gz格式:
    gzip 1.c :gzip只能一次压缩一个文件,压缩后的名字为源文件名加后缀
    gunzip  1.c.gz:解压

    tar  –cf   myExamples.tar      myExamples :只归档,不压缩           =》  tar  –xvf   myExamples.tar
    tar  -cjf   myExamples.tar.bz/bz2   myExamples :采用bzip2格式压缩   =》  tar  -xvjf   myExamples.tar.bz
    tar  -czf  myExamples.tar.gz    myExamples :采用gzip格式压缩         =》 tar  -xvzf  myExamples.tar.gz


【修改主机名】

    hostname myubuntu :临时修改,重启后恢复
    vi /etc/hostname :永久生效; 修改主机名之后,要修改文件/etc/hosts,使新的主机名有相对应的ip(一般为回环地址:127.0.0.1)

    DNS:修改文件/etc/resolv.conf 该文件设置的DNS最多可以有三个,只要有一个生效即可








本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5066570.html,如需转载请自行联系原作者

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
2天前
|
Linux 开发者 Docker
探索Linux命令的新利器:linux-command
**Linux-command 是GitHub上的一个项目,提供580+ Linux命令的搜索工具,包括手册、详解和学习资源。无广告的Web界面方便查询,可部署到个人服务器。项目已获29.5k Star,支持Docker部署。通过示例展示如何搜索命令参数和用法,助力提升Linux操作效率。[GitHub](https://github.com/jaywcjlove/linux-command) | [在线版](https://wangchujiang.com/linux-command/)**
39 1
探索Linux命令的新利器:linux-command
|
2天前
|
监控 Linux 数据处理
探索Linux中的`mountpoint`命令
`mountpoint`命令在Linux中用于检测目录是否为挂载点,关键在于检查`/etc/mtab`或`/proc/mounts`。简单易用,高效且无额外依赖。例如,用`mountpoint -q /mnt/data`判断挂载点,并结合`find`列出所有挂载点。在脚本中注意检查返回值,可能需`sudo`提升权限。可与其他命令组合以扩展功能。
|
2天前
|
Linux 数据处理 Perl
深入探索Linux中的`more`命令
`more`命令是Linux下的文本查看器,适合查看长文件,分页显示内容,支持交互操作如空格(下一页)、回车(下一行)、q(退出)。参数包括:+&lt;num&gt;从指定行开始,/-&lt;num&gt;跳过行,/pattern搜索模式。示例:查看日志`more /var/log/syslog`,从第1000行开始`more +1000 file`,搜索关键词`more /var/log/syslog +/ERROR`。大文件可考虑使用`less`。结合`grep`等命令增强功能。
|
2天前
|
安全 Linux 数据处理
探索Linux中的`mount`命令
`mount`命令在Linux中用于挂载文件系统到目录,如硬盘、USB或光盘,使用户能访问数据。它支持多种文件系统,提供灵活的选项控制挂载行为,如 `-t` 指定类型,`-o` 设置选项(如`ro`或`rw`)。挂载点的安全管理包括限制权限和完整性检查。示例应用包括挂载USB设备到`/mnt/usb`,只读挂载,以及重新挂载。使用时需注意权限、正确设备文件、选择合适挂载点,并确保数据安全。使用`umount`卸载文件系统。
|
2天前
|
Ubuntu IDE Linux
Linux mkinitrd命令详解:深入探索与实用指南
`mkinitrd`命令在Linux中用于创建initrd镜像,它是启动过程的关键,装载驱动和文件系统。该命令自动打包驱动和模块成内存盘,保证硬件兼容性和系统启动。常用参数包括 `-f`(覆盖现有文件)、`-v`(详细输出)、`-k`(指定内核版本)、`-o`(指定输出文件)。通过示例`mkinitrd -k 2.6.32-642.el6.x86_64 -o /boot/initrd...` 创建镜像。注意:确保内核版本匹配,检查硬件兼容性,定期更新initrd,并在操作前备份数据。
|
2天前
|
存储 安全 Unix
探索Linux中的`mkdir`命令:创建目录的艺术
`mkdir`命令在Linux中用于创建目录,是文件管理的关键工具。它可以递归创建目录(-p选项),设置新目录权限(-m选项)并显示详细信息(-v选项)。例如,`mkdir -p dir1/dir2/dir3`会创建多级目录,而`mkdir -m 700 secret`创建一个具有特定权限的目录。在处理项目数据时,常通过脚本批量创建目录,如创建多个年份销售数据的子目录。使用时注意检查目录是否存在,设置适当权限,并避免在根目录下操作。查阅`man mkdir`获取更多帮助。
|
16小时前
|
Linux C语言 C++
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
Linux 下centos 查看 -std这个编译时命令 是否支持 C17
7 2
|
2天前
|
存储 安全 Linux
深入解析Linux命令modutil:数据处理的得力助手
`modutil`是管理PKCS#11及HSM模块的工具,用于安全数据处理。它跨平台且具丰富选项,如 `-add`、`-remove`、`-list` 和 `-initToken`。示例命令是 `modutil -add &quot;MyHSM&quot; -libfile /path/to/hsm_library.so -slot 0 -dbdir /path/to/pkcs11_db`,用于添加模块。使用时注意权限,备份数据,阅读文档并谨慎操作,可与其他工具如`pkcs11-tool`结合使用。
|
2天前
|
存储 安全 Linux
Linux命令mkfifo深度解析
`mkfifo`在Linux中创建命名管道,用于进程间通信(IPC)。管道是临时的,非持久存储,作为数据传输的通道。特点是无缓冲、支持阻塞/非阻塞模式和权限控制。命令语法:`mkfifo -m &lt;权限&gt; 文件名`。示例:创建`mypipe`,一个进程写入,另一进程读取。注意选择阻塞模式、管理权限、删除不再使用的管道,并处理可能的错误。用于数据交换和高效能应用。
|
1天前
|
Linux C++
Linux文件管理命令(一)
这是关于Linux命令行的一些内容,主要包括了一些常见的Linux命令及其参数的用法。例如,`ls` 命令用于列出目录内容,不同的参数如 `-a` 显示所有文件(包括隐藏文件),`-l` 以详细模式显示,`-S` 按大小排序等。`mkdir` 命令用于创建目录,`cp` 命令用于复制文件或目录,`mv` 命令用于移动或重命名文件或目录,而`rm` 命令则用于删除文件或目录。在使用这些命令时,可以结合不同的参数来实现不同的操作。