Linux常用命令

Linux基本命令

cd命令

1
2
3
4
5
6
# 根据绝对路径,切换到目录/root/Docements  
cd /root/Docements
# 根据相对路径,切换到当前目录下的path目录中,“.”表示当前目录
cd ./path
# 返回上一级目录
cd ..

ls命令

1
2
3
4
5
6
# 查看文件与目录的命令
ls
# 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来
ls -a
# 列出全部的文件,包含文件的属性与权限数据
ls -l

grep命令

1
2
# 用于搜索过滤文件中的数据
grep [-aciv] [--color=auto] '待查找字符串' filename

常用参数解释:

  • -a :将binary文件以text文件的方式查找数据
  • -c :计算找到‘查找字符串’的次数
  • -i :忽略大小写的区别,即把大小写视为相同
  • -v :反向选择,即显示出没有‘查找字符串’内容的那一行
    1
    2
    3
    4
    5
    # 例如:  
    # 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
    grep --color=auto 'MANPATH' /etc/man.config
    # 把ls -l的输出中包含字母file(不区分大小写)的内容输出
    ls -l | grep -i file

cp命令

复制文件命令,常用参数如下

  • -a :将文件的特性一起复制
  • -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
  • -i :若目标文件已经存在时,在覆盖时会先询问操作的进行
  • -r :递归持续复制,用于目录的复制行为
  • -u :目标文件与源文件有差异时才会复制
1
2
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2  
cp -r file1 file2 file3 dir #把文件file1、file2、file3递归复制到目录dir中

mv命令

重命名文件使用方式

1
mv file1 file2 # 把文件file1重命名为file2  

把一个文件或者多个文件一次移动到一个文件夹中(最后一个目标文件一定是目录)
1
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中  

rm命令(小心使用!!!!!!)

删除文件或者目录,常用参数

  • -f :就是force的意思,忽略不存在的文件,不会出现警告消息
  • -i :互动模式,在删除前会询问用户是否操作
  • -r :递归删除,最常用于目录删除,它是一个非常危险的参数
    1
    2
    rm -i file # 删除文件file,在删除之前会询问是否进行该操作  
    rm -fr dir # 强制删除目录dir中的所有文件

ps命令

查看进行巡行情况,该命令与其他命令的常用搭配如下

1
2
3
4
5
ps aux # 查看系统所有的进程数据  
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态
ps aux| grep -ic python # 查看系统中所有关于python的进程

kill命令

对进程发送信号,常用signal如下(使用时可以用代号代替相应的信号)

  • 1:SIGHUP,启动被终止的进程
  • 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行
  • 9:SIGKILL,强制中断一个进程的进行
  • 15:SIGTERM,以正常的结束进程方式来终止进程
  • 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
    1
    2
    3
    4
    5
    6
    kill -signal PID

    # 以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程
    kill -SIGTERM %1
    # 重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得
    kill -SIGHUP PID

tar命令

对文件进行打包默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

  • -c :新建打包文件
  • -t :查看打包文件的内容含有哪些文件名
  • -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
  • -j :通过bzip2的支持进行压缩/解压缩
  • -z :通过gzip的支持进行压缩/解压缩
  • -v :在压缩/解压缩过程中,将正在处理的文件名显示出来
  • -f filename :filename为要处理的文件
  • -C dir :指定压缩/解压缩的目录dir
    1
    2
    3
    4
    # 通常我们只需要使用如下三条命令:
    压缩:tar -jcv -f filename 要被处理的文件或目录名称
    查询:tar -jtv -f filename
    解压:tar -jxv -f filename -C 欲解压缩的目录

cat命令

查看文本文件内容

1
cat test|less # 查看text文件中的内容

chgrp/chown命令

改变用户所述用户组/改变文件的所有者

1
chgrp/chown users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users 

chmod命令

改变文件的权限
常用权限表示形式:

  • -rw——- (600) 只有拥有者有读写权限。
  • -rw-r–r– (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
  • -rwx—— (700) 只有拥有者有读、写、执行权限。
  • -rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
  • -rwx–x–x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
  • -rw-rw-rw- (666) 所有用户都有文件读、写权限。
  • -rwxrwxrwx (777) 所有用户都有读、写、执行权限。
    1
    chmod -R 777 file # 将file设置为最高权限

    查看系统的配置

    打开/proc目录查看系统硬件配置
    1
    2
    3
    4
    5
    6
    // 查看cpu信息
    cat /proc/cpuinfo
    // 查看内存
    free -m
    // 查看硬盘空间
    df -h

Linux更高层命令

curl命令

http命令行工具,支持文件的上传与下载。

其基本语法为:

1
curl [option] [url]

其常用使用方法为:

  1. 测试
    1
    curl http://www.linux.com // 测试服务器与网站的连通性
  2. 下载
    1
    curl -o filename http_url // 下载url的文件并保存名为filename
    1
    curl -O -u user_name:password ftp_url // 根据user_name和password下载ftp_url的文件
  3. 上传文件
    1
    curl -T upload_file -u user_name:password ftp_url // 根据user_name和password上传file到url
  4. 查看公网ip
    1
    curl ifconfig.me 或者 curl cip.cc

查看当前GPU使用情况

1
nvdia-smi

使用指定GPU运行程序

1
2
3
4
5
6
7
8
9
CUDA_VISIBLE_DEVICES={{number of interface}} python {{file}}.py
```


### 服务器间文件的传输(scp命令)
> 服务器其实就是电脑的意思,两个可以等价替换;{{}}代表你需要修改的参数
#### 复制远程服务器的文件到本地服务器
```py
scp -r {{远程服务器名称}}@{{远程服务器ip}}:{{远程服务器目录}} {{本地服务器目录}}

将本地服务器的文件上传到远端服务器

1
scp -r {{本地服务器目录}} {{远程服务器名称}}@{{远程服务器ip}}:{{远程服务器目录}}

备注:scp常用命令参数

  • -r 递归复制整个目录。
  • -P port 注意是大写的P,port是指定数据传输用到的端口号

scp命令常见问题

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法

1
2
vim ~/.ssh/known_hosts
删除与无法识别的服务器的相关rsa的信息即可.

ssh命令

远程登录Linux主机

最常用命令

1
2
3
4
5
ssh -p port user_name@hostname // 在port端口指定用户登录host

servive sshd restart // 重启sshd服务

vim /etc/ssh/sshd_config //修改配置文件的端口号和其他配置

apt-get

安装无sudo权限的软件

1
2
3
4
5
apt-get source your_package
cd your_package
./configure --prefix=$HOME
make
make install

用户相关命令

在root账户下:

  • useradd user_name 创建用户user_name
  • passwd user_name 给用户user_name设置密码
  • userdel user_name 删除用户user_name
  • su user_name 切换到(switch user)用户user_name

参考与引用

  1. https://blog.csdn.net/ljianhui/article/details/11100625/
  2. https://www.cnblogs.com/ksguai/p/6090115.html
  3. https://blog.csdn.net/kwu_ganymede/article/details/61199067
  4. http://blog.51cto.com/linuxme/375752
  5. https://www.linuxidc.com/Linux/2017-06/144916.htm
  6. https://zhidao.baidu.com/question/584292009.html
  7. https://www.cnblogs.com/huangshiyu13/p/5923607.html
请zzy824喝杯咖啡
0%