zoukankan      html  css  js  c++  java
  • 常用Linux指令

    玩OI,难免要用Linux,这是了解一些常用的Linux命令就很有必要了。

    首先,要运行命令,需要点开一个终端(Terminal)

    基本文件操作

    在Linux当中,两个点(..)表示父文件夹,一个点(.)表示当前文件夹,~表示当前用户的主文件夹

    ls:列出文件夹下的文件

    样例:

    ls						#列出当前文件夹下的文件
    ls c++				#列出名为c++文件夹下的文件
    ls -a					#列出当前文件夹下的所有文件(包括.xxx.xxx之类的隐藏文件)
    

    cd:进入一个文件夹

    样例:

    cd c++					#进入到一个名为c++的文件夹中
    cd ..						#进入上一文件夹(父文件夹)
    cd .						#进入当前文件夹(其实什么也没干)
    cd -						#回到上一次的工作目录
    cd ../../..					#进入上一文件夹的上一文件夹的上一文件夹
    cd c++/main/			#进入c++文件夹中的main文件夹
    

    touch:创建空文件

    样例:

    touch hello.txt					#创建一个名为hello.txt的空文件
    

    mkdir:创建一个文件夹

    样例:

    mkdir c++					#创建一个名为c++的文件夹
    mkdir -v c++				#创建一个名为c++的文件夹并显示更多输出
    

    rm:删除一个文件/文件夹

    样例:

    rm bad.txt					#删除bad.txt
    rm -f bad.txt				#没有提示直接删除bad.txt
    rm -r c++					#删除名为c++的文件夹
    rm -rf c++					#没有提示直接删除名为c++的文件夹
    

    注意:rm -rf很强大,删除后不可恢复,请使用前明白你在做什么

    mv:移动(剪切粘贴)/重命名文件/文件夹

    样例:

    mv 1.txt c++/				#把1.txt移动到c++目录下
    mv 1.txt ..						#把1.txt移动到父目录下
    mv 1.txt 2.txt				#把1.txt重命名为2.txt
    mv 1.txt c++/2.txt				#把1.txt移动到c++目录下并重命名为2.txt
    mv -r c++ ..						#把c++文件夹移动到父目录下
    mv -r c++ c--				#把c++文件夹重命名为c--
    

    cp:复制文件/文件夹

    样例:

    cp 1.txt c++/				#把1.txt复制到c++目录下
    cp 1.txt ..						#把1.txt复制到父目录下
    cp 1.txt 2.txt				#把1.txt另存为2.txt
    cp 1.txt c++/2.txt			#把1.txt复制到c++目录下并重命名为2.txt
    cp -r c++ ..					#把c++文件夹复制到父目录下
    cp -r c++ c--				#把c++文件夹另存为c--
    

    chmod:设置文件权限

    这个命令用的少(主要是用数字表示权限不好记),就不多讲好了(逃)

    样例:

    chmod 777 1.cpp				#将1.cpp设置为所有人皆可读取,修改,执行
    chmod 755 1.cpp				#将1.cpp设置为所有人皆可读取,执行,但只有本人可以修改
    chmod -R 777 c++				#将c++文件夹及其子文件夹和文件设置为所有人皆可读取,执行,但只有本人可以修改
    chmod +x navo				#赋予navo可执行权限
    

    chattr:最牛的文件保护

    这个命令需要root权限,可以让文件禁止修改、删除、移动等

    样例:

    sudo chattr +i 1.txt				#将1.cpp设置为所有人都不能修改、删除、移动
    sudo chattr -i 1.txt				#恢复1. cpp的权限
    

    linux下的通配符

    * 代表0个或无穷多个任意字符

    ? 代表一定有一个人字符

    [a,b,c,d,e] 代表是a,b,c,d,e中的某一个字符

    [a-z] 代表是a到z中的某一个字符

    假如当前文件夹下有这些文件:

    .hello.txt hello.txt helloworld.cpp cuda.o ppx

    那么:

    ls hello*会得到hello.txt helloworld.cpp

    ls hello.*会得到hello.txt

    ls [a,b,c]*会得到cuda.o

    ls hel?o*会得到hello.txt helloworld.cpp

    ls .*会得到.hello.txt

    ls *x会得到ppx

    ls [a-b]*会什么也得不到

    Linux下常用的编辑器

    vim

    Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件。

    Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

    ——来自百度百科

    若想编辑1.cpp,只需运行如下指令:

    vim 1.cpp
    

    然后你就进入了Vim的普通模式,和其他编辑器一样你可以看到要编辑的文件的内容,但是你不能输入

    在普通模式下,有许多有趣的命令:(只列举删除的好了)

    dd			#删除当前行
    Ndd			#重复dd命令N次(向下删除N行)
    d^			#删除到行首
    dG			#删除到行尾
    

    在普通模式下,你可以按i(突然想起来可以用code标签)进入编辑模式,然后随意编辑就好了(笑)

    若想回到普通模式,只需按下Esc即可

    在普通模式下,输入:进入命令模式

    w:保存

    w!:强制保存

    q:退出(不保存)

    q!:强制退出(不保存)

    wq:保存并退出

    wq!:强制保存并退出

    w <文件名>:另存为

    一般刚安装完的Vim不自带自动缩进,行号,标尺之类的有用的东西,若想实现,编辑~/.vimrc即可

    set shiftwidth=4	#缩进空格数
    set autoindent		#自动缩进
    set cindent			#C/C++的自动缩进
    set nu				#显示行号
    set ruler			#显示标尺
    set tabstop=4		#TAB宽度,默认8太长了
    set softtabstop=4	#同上
    

    Nano

    Nano是Unix和类Unix系统中的一个文本编辑器,是Pico的复制品。

    Nano是一个小巧友好的文本编辑器. 与基本的文本编辑相比,nano提供许多额外的特性,例如:交互式的查找和替换,定位到指定的行列,自动缩进,特性切换,国际化支持,以及文件名标记完成。

    ——来自百度百科

    nano是很简单和易用的,所以不多讲,要用的指令在Nano运行时它的下方都有

    若想编辑1.cpp,只需运行如下指令:

    nano 1.cpp
    

    打开文件后,直接编辑即可

    Ctrl+O保存

    Ctrl+X退出

    编译(GCC/G++)

    由于是OIer,所以编译代码是必不可少的!

    编译C语言程序用gcc,C++程序用g++,两者用法基本相同(那就用g++来当例子把)

    编译1.cpp

    g++ 1.cpp
    

    然后会生成一个叫做a.out的可执行文件

    为了管理方便,常常重命名输出文件,比如:

    g++ 1.cpp -o 1.o
    

    这样就能生成1.o了

    O3优化也是可以的:

    g++ -O3 1.cpp -o 1.o
    

    有趣的系统指令

    TODO

    先写这么多,好累啊!(逃)

  • 相关阅读:
    SQL2005的CTE
    分列顯示
    2005数据库结构显示
    十进制/十八进制的互转换(此方法应用于所有进制与10进制的转换)
    2005自动生成数据库的清空脚本
    阻塞分析
    通过在 Web 表单中维持对象的 ViewState (视图状态)
    cs文件调用aspx页面js函数
    Repeater绑定后格式化某字段
    Fireworks中制作炫光效果
  • 原文地址:https://www.cnblogs.com/wendster/p/normallinux.html
Copyright © 2011-2022 走看看