美文网首页
linux 常用命令以及操作

linux 常用命令以及操作

作者: MasonInFaith | 来源:发表于2018-08-13 14:13 被阅读0次
    list列出文件及文件夹

    ls
    ls *.cpp
    ls -F 不同文件显示不同信息
    ls -a 所有文件,.开头的文件是默认隐藏的
    ls -l 文件属性
    vdir 类似 ls -l

    显示当前目录

    pwd

    改变目录

    cd
    cd .. 上层目录
    cd ./ 当前目录
    cd /proc

    ################### 查看文件 ##############
    cat -n 1.cpp 显示行号 -n

    [more] 展示文件部分,空格翻页,回车下一行
    [more 1.cpp]
    [more -2 Program.cs ]

    head 显示开头的几行
    [head -2 Program.cs ]

    tail 显示结尾的几行
    [tail -2 Program.cs ]

    less 底部有一个冒号等待输入,空格向下,B 向上, /.+ 搜索,继续查找,再次输入 / 回车 q 推出
    less -M 更多文件信息
    [less 1.cpp]

    #################### 搜索命令 #################
    [grep -n '123' 1.cpp] 显示行号

    #################### 切换用户 #################

    su 用户切换命令,如果没有指定,切换到root
    sudo 以管理员执行
    [su root] [su zjp]

    #################### 软件包管理 #################

    查看所有的已安装软件名称。

    [rpm -qa]

    显示软件安装路径

    [rpm -ql <软件名>]

    ---------------安装vscode
    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
    yum check-update
    sudo yum install code

    #################### 显示当前目录 #################
    [pwd]

    ################### 终端快捷方式 位置 ##############
    usr/bin/gnome-terminal

    ################### 我的东西在那里 find 命令
    find 目录 -name zjp 找名字里面有zjp 的东西

    如果完全不知道在那个目录,用locate
    [locate *.doc]
    文件数据库
    updatedb --需要root locate 的数据源 后台数据库默认一天更新一次

    #################### 从终端运行程序 #################
    [firefox]
    [firefox &] --启动浏览器以后继续在终端中

    #################### whereis #################
    查找特定程序,
    [whereis Code]

    #################### who #################
    [who]
    [whoami]
    [uanme -r] ---查看内核版本信息

    #################### man 完整的命令提示 #################
    [man find]

    #################### whatis 简单的命令提示 #################
    [whatis find]
    [apropos search] ---什么命令可以用来 search

    #################### 文件与文件夹与权限 #################

    --------------创建文件夹
    [sudo mkdir work]

    ----------------文件夹权限
    [sudo chgrp workgroup work/] ---将work 文件夹的权限交给 workgroup 组
    [sudo chmod g+rwx work/] --使上面的组对work 目录有读写执行权限
    [sudo chmod o-rwx work/] ---撤销其他用户对work 目录的读写执行权限

    接下来将work 目录交给一个组长,现在work 目录的所有者是root
    [sudo chown zjp work/] ---work 目录的所有者变成zjp

    现在属于这个组的成员可以访问文件夹了,其他人不可以访问

    --------------- 建立文件夹和目录

    ------建立目录 mkdir
    mkdir 可以一次性建立多个目录
    [mkdir ddd]
    [mkdir -p ~/jjjjj/fdsaf] ----/p 用于建立完整的目录结构,目录不存在就创建

    -----建立文件 touch
    [touch 1.c]
    1.建立一个空白文件,
    2.更新现有文件的时间

    移动,复制和删除命令
    [mv hello /bin] mv 源 目标
    也可以移动目录
    [mv /bin /opt]

    mv 命令发现移动重名,直接替换,不做任何提示

    提示是否替换
    [mv -i hello.py /bin/hello]

    自动重命名
    [mv -b hello.py /bin/hellogrep]

    将同一目录的文件重命名
    [mv hello.py hello.bak]

    复制文件夹 和命令
    cp 复制文件夹或文件,默认重名默认覆盖,需要加上-i参数
    rm cp mv 命令

    --------------- cent root用户 默认 rm , cp , mv 命令 默认 alias ~ -i
    [su root]
    [cd ~]
    [vi .bashrc ]

    cp 执行复制任务的时候,自动跳过里面的目录,可以用-r 选项,所有都会cp

    cp rm mv 命令 -r 参数 执行递归 复制,删除,移动

    删除目录和文件 rmdir 和 rm
    [mkdir zjp]
    [rmdir zjp]

    rmdir 命令只能删除空的文件夹

    删除命令不做任何的提示
    [rm /test/*.cpp]

    对于只读文件,会即使不加 -i 选项,也会自动提示,如果需要避免,需要强制删除

    [rm -f zjp.jjjjj]

    递归删除根目录
    rm -r /

    如果不希望提示任何东西
    rm -rf /
    rm -rf / tmp (想删除 /tmp 目录,结果中间多了个空格,然后 boom )

    对于目录而言,执行权限控制的是 用户能否进入该目录,读取权限确定的是,是否能列出目录中的内容,写入权限控制的是创建 删除 重命名

    ls -l 命令可以查看文件的属性,包括权限

    -rw-rw-r--. 1 zjp zjp 0 Apr 5 13:01 test.jjj

    第一个 ‘-’ 代表文件类型,普通文件,
    第二个 rw- rw- r-- 分别表示属主,属组,和其他人的权限,r 读取,w 写入,x 执行,没有权限就用 - 表示
    第三个子段和第四个子段表示属主 和 属组
    跟着 三组权限的数字表示链接数,这里是1 ,表示 只有一个硬链接
    最后的表示,大小,时间,路径

    查看目录的属性, [ls -ld /root]

    改变文件所有权: chown 和 chgrp

    将zjp.jjj 属主更改为 zjp ,属组更改为 root
    [sudo chown zjp:root zjp.jjj]

    如果不需要改属组的话,冒号后面可以省略

    如果不需要改属主,只改属组,
    [sudo chown :zjp zjp.jjj]

    将一个文件夹下面的所与文件和子目录的所有权都改变
    [sudo chown -R zjp /root]

    改变文件夹权限: chmod
    这个命令通过使用 “用户组+- 权限” 的方式来增加或者删除对应的权限,用户组包括
    属主(u),文件属组(g),其他人(o),所有人(a)
    权限包括:
    读取(r),写入(w),和执行(x)

    例如:
    下面的命令增加了属主对文件 zjp.jjj 的执行权限
    [chmod u+x zjp.jjj]
    [chmod a-x zjp.jjj]
    [chmod ug=rw,o=r zjp.jjj]

    将用户组1 和用户组2 权限完全一致:
    chmod o=u zjp.jjj

    只有文件的属主才能改权限

    通过8进制改变权限:
    1代表执行,2代表写入,4 代表读取, 每个位,需要的权限相加就可以
    属主完全控制,属组和其他人有执行权限
    [chmod 711 zjp.jjj]

    #################### 找到对应的进程pid #################
    [top -u zjp]
    找到对应进程的pid
    [cd ./proc/<pid>]
    [ls -al]
    系统启动进程的时候,会在/proc 下面生成一个 以PID 命名的文件夹,该文件夹下有相应的信息,用ls 查看
    exe-》 执行程序的绝对路径 软链接 ls -al exe 显示为 明亮蓝色字体,说明是软连接
    cmdline是启动程序用的命令
    ls -l ,文件详细信息

    #################### alias 永久生效 #################
    [cd ~] (shift + esc 下面的按键) ~ 代表当前用户的目录
    [vi .bashrc]
    ~/.bashrc 这个文件添加信息
    .bashrc 文件 添加 alias 只对相应的用户生效

    root 用户对应的目录是 /root
    zjp 用户对应的是 /zjp

    若在 .bashrc 文件中添加如下
    alias ff='/usr/lib64/firefox/firefox'
    那么该用户在控制台执行 ff 或者 ff & 就会直接进入 firefox

    [useradd testuser] 创建用户testuser
    [passwd testuser] 给已创建的用户testuser设置密码

    linux 文件类型:
    linux 中一切都是文件的形式,包括程序进程,硬件设备,以及其他东西

    • : 普通文件
      d : 目录
      c : 字符设备文件
      b : 块设备文件
      s : 本地域套接口
      p : 有名管道
      l : 符号链接

    建立链接:ln

    运行的时候输入 ./cho (alias 直接输入 ch 就可以)
    [ln -s /opt/google/chrome/chrome cho]
    当前目录生产一个软连接

    不带-s 选项是硬链接,带 -s 是软链接
    硬链接,改动一个文件 另一个文件也会被改变
    大部分使用软链接

    重定向:>1.txt 会直接覆盖现有文件,追加用 : >>

    管道:|
    通过 | 将一个命令的输出链接到另一个命令的输入上:
    获取目录i所有的文件,然后从这些文件中找到包含123 的文件
    [ls | grep 123]

    查看当前已经挂载的全部文件系统 : df
    df 显示全部挂载信息,不需要的花加上 -t 参数
    [df -t]

    [ls /dev | grep sd] 查看dev 目录中,以sd 开头的文件

    新建用花,属于root 组
    [useradd -g root zjp11]
    [passwd zjp11]

    history 命令,查看用过的命令
    history 10 最近10 条命令

    用户主目录下 .bash_history 文件,记录了用户的操作

    /ect/passwd 文件记录了用户的信息
    /etc/shadow 文件记录了用户的密码

    删除用户 userdel

    管理用户帐号 : usermod
    -d 修改用户主目录
    -e 修改帐号的有效期限
    -g 修改帐号的所属组
    -l 修改用户帐号名称
    -s 修改用户登陆后所使用的shell

    把john 改名为mike,主目录
    [usermod -l mike -d /home/mike john]

    查看用户信息: [id zjp]

    etc/sudoers

    查看进程信息
    [ps aux | grep chrome ]

    终止进程
    [kill 21888]

    ps lax 可以显示进程的父进程

    时时追踪进程信息,使用top 命令:

    产看占用文件的进程: lsof
    lsof 1.doc

    强制关闭:
    [kill -KILL <pid>]
    [kill -9 <pid>]

    二:Centos默认不会建立本地连接,至少在虚拟机里是这样,自己新建一个就行了:
    1.cd /etc/sysconfig/network-scripts/
    2.vi ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    NM_CONTROLLED=yes
    保存退出。
    3.重启网络
    service network restart

    vim:
    H,J,K,L 四个按键控制光标位置;
    光标定位到某一行,o 键下方插入一行,O 键上方插入一行
    :w 1.txt 保存
    :wq 保存并退出
    :q! 放弃保存并退出
    /zjp 搜索字符串 zjp
    ?zjp 向上搜索字符串zjp
    :set ignorecase 设置搜索忽略大小写
    :set noignorecase 设置搜索不要忽略大小写
    :1,4s/i/iiiii/g 文件替换,1,4 代表1到4 行,i 是要替换的,iii 是替换后的,g代表替换一行中的所有匹配向,可用的有c,替换前询问,e,不显示错误消息,i,不区分大小写,可以组合
    :syntax on语法高亮
    :set autoindent 自动缩进
    linux 中,一个tab 是8个空格
    ^ 移动光标到行首
    $ 移动光标到行尾
    G 移动光标到文件尾
    u 撤销
    ctrl + R 恢复

    全文范围把^M 替换为空(windowns 结尾)
    :%s/^M$//g

    init 和运行级
    init 定义了运行级,用一些整数表示,几乎所有的进程都是init 创建的
    0 系统关闭
    1 单用户模式
    2 功能受限的多用户模式
    3 完整的多用户模式
    4 一般不用,留着用户自定义
    5 多用户模式,运行xwindow
    6 重新启动

    telinit 6 重启,不需要root

    gnome-shell --version

    gourpadd mockbuild

    useradd mockbuild -g mockbuild

    linux 部署 .net core

    ################################# BEGIN #################################

    为了安装.NET,需要注册微软签名密钥和添加微软相关的支持。这个操作每台机器只能做一次。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

    安装.NET SDK

    sudo yum update
    sudo yum install libunwind libicu
    sudo yum install dotnet-sdk-2.0.2

    安装完成之后,可以用以下命令来检测是否安装成功。

    dotnet --info

    ################################# END #################################

    相关文章

      网友评论

          本文标题:linux 常用命令以及操作

          本文链接:https://www.haomeiwen.com/subject/roxubftx.html