Ubuntu 随笔记

本文记录 Ubuntu 使用过程中遇到的一些问题,不定期更新。

 

目录

1、Ubuntu 查看 root 组中有哪些用户

2、Ubuntu的终端里,上下键出现 ^[[A^[[B 等字符,无法切换最近输入的命令(2018.8.8)

3、查看显卡型号

4、查看本机 IP

5、查找某个文件

1、find

2、locate

3、whereis

4、which

6、在多用户系统中,查看当前用户

7、Ubuntu中创建新用户

8、多个用户之间进行切换

9、Ubuntu中查看用户命令

10、给普通用户增加管理员权限

11、限制其他用户对于某文件夹的访问权限 或 将指定目录\文件夹只对某用户开放

12、修改所有子文件或子目录的所有者及权限

1、chmod

2、chown

13、查看相应文件与文件夹权限

14、文件权限的修改(chmod)

15、执行.sh文件

16、在指定GPU训练的情况下,将程序在后台运行(以免SSH断开后程序终止)

17、Ubuntu ssh频繁断开解决办法$ ssh -o ServerAliveInterval=60  user@server


 

 

1、Ubuntu 查看 root 组中有哪些用户

在终端输入:

cat /etc/group

查看一下root下面有哪些用户

比如第一行:root:x:0:xxx

这个xxx用户属于root组

2、Ubuntu的终端里,上下键出现 ^[[A^[[B 等字符,无法切换最近输入的命令(2018.8.8)

最近在 MSRA 实习的时候,组里分配的一台服务器,结果出现了上面的问题。

原因:一般是由于使用useradd命令创建新用户时,没有指定login shell,而默认的是/bin/sh。

解决方法:可以使用

sudo chsh -s /bin/bash <username> 

 来切换到/bin/bash,logout 后,再 login 。

建议:使用adduser命令,它会预设很多环境,包括默认使用/bin/bash。

3、查看显卡型号

lspci |grep VGA

4、查看本机 IP

ifconfig

5、查找某个文件

1、find

find / -name keras
说明:find命令用于查找文件,后面的“/"代表根目录,-name是find命令的参数,后面接要搜索的文件名。
如果不明确文件名称,可以使用通配符
find . -name *libc*
缺点:find是在指定的目录下遍历查找,如果目录使用 / 则表示在所有目录下查找,find方式查找文件消耗资源比较大,速度也慢一点。

2、locate

locate+文件名

linux会把系统内所有的文件都记录在一个数据库文件中,使用locate+文件名的方法会在linux系统维护的这个数据库中去查找目标,相比find命令去遍历磁盘查找的方式,效率会高很多。

缺点:数据库文件不是实时更新的,一般会每周更新一次,所以使用locate命令查找到的结果不一定是准确的。

解决方法:在使用locate之前通过 updatedb 命令更新一次数据库,保证结果准确。

3、whereis

whereis+文件名

用于程序名的搜索,搜索结果只限于二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),如果省略参数,则返回所有信息。

4、which

which+可执行文件名

which的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which指令会在环境变量$PATH设置的目录里查找符合条件的文件,所以基本的功能是寻找可执行文件。

================================ 2019、10、7====================================

6、在多用户系统中,查看当前用户

who

7、Ubuntu中创建新用户

sudo adduser  <name>

8、多个用户之间进行切换

su <name>

9、Ubuntu中查看用户命令

id

比如我们想看office用户的信息,命令就是:id office

显示的结果如下,从显示的信息中我们可以看到,在groups里有sudo,也有admin这两个组的信息。说明office用户在root权限组中。

10、给普通用户增加管理员权限

(假设用户名叫test)

usermod -a  -G sudo -s /bin/bash test

7到10的整体操作如下:

useradd test 

然后使用命令id test查看test的信息,可以看到groups里只有一个test。

再将它添加到sudo组里面去,命令是:

usermod -a  -G sudo -s /bin/bash test

添加完成后,修改它的密码,命令是:

passwd test

最后再用id test命令查看它的信息,可以看到groups里多了一个sudo组。如下所示:

11、限制其他用户对于某文件夹的访问权限 或 将指定目录\文件夹只对某用户开放

sudo chown 用户名 文件夹或目录

例如: sudo chown eai /home/test  ;执行后,test文件目录的权限就只对eai开放,eai 可以任意的在里面增删改查询。

其他任何人,管理员除外,都不能访问。

chown和chmod的区别在于,chmod针对的是该文件,它是否否能被读写,不针对任何用户(管理员除外)。

chown则是针对个人。

12、修改所有子文件或子目录的所有者及权限

与11类似,Ubuntu中有两个相关命令:「change mode」&「change owner」

即chmod以及chown,对于所有子文件夹或目录的权限修改,可用递归参数-R来实现。

1、chmod

chmod -R 700 文件夹或目录

-R参数是递归处理目录下的所有文件以及子文件夹

700是变更后的权限表示(只有 所有者 有读和写以及执行的权限)

2、chown

chown -R 用户名:用户组 文件夹或目录

对目录下的所有文件与子目录执行所有者变更,修改所有者为用户组的用户(用户组参数不是必须有)

13、查看相应文件与文件夹权限

ls -l filename # 查看文件权限

ls -ld folder  # 查看文件夹或目录权限

ubuntu中的权限表示,一共有10位数,其中:

  1. 最前面的 - 代表的是类型,如果是目录,最前面这个是d;
  2. 其次三个: rw- 代表的是所有者(user)的权限;
  3. 然后三个: rw- 代表的是组群(group)的权限;
  4. 最后三个: r-- 代表的是其他人(other)的权限;

上述中,r 表示文件可以被读(read),w 表示文件可以被写(write),x 表示文件可以被执行(如果它是程序的话),

- 表示相应的权限还没有被授予。

14、文件权限的修改(chmod)

chmod o+w 文件名

表示给其他人授予 写 此文件的权限

chmod go-rw 文件名

表示删除文件中 组群 和 其他人 的 读 和 写 的权限

其中:

  1. u 代表所有者(user)
  2. g 代表所有者所在的组群(group)
  3. o 代表其他人,但不是u和g (other)
  4. a 代表全部的人,也就是包括u,g和o
  5. r 表示文件可以被读(read)
  6. w 表示文件可以被写(write)
  7. x 表示文件可以被执行(如果它是程序的话)

-rwx,四个指令也可用数字来代替

  1. r ------------4
  2. w -----------2
  3. x ------------1
  4. -  ------------0

行动:

  1. + 表示添加权限
  2. - 表示删除权限
  3. = 表示使之成为唯一的权限

根据上面的介绍,一些常用的指令为:

  1. -rw------- (600) 只有所有者才有读和写的权限;
  2. -rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限;
  3. -rwx------ (700) 只有所有者才有读,写,执行的权限;
  4. -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限;
  5. -rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限;
  6. -rw-rw-rw- (666) 每个人都有读写的权限;
  7. -rwxrwxrwx (777) 每个人都有读写和执行的权限;
  8. sudo chmod 600 ××× (只有所有者有读和写的权限);
  9. sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限);
  10. sudo chmod 700 ××× (只有所有者有读和写以及执行的权限);
  11. sudo chmod 666 ××× (每个人都有读和写的权限);
  12. sudo chmod 777 ××× (每个人都有读和写以及执行的权限);
  13. sudo chmod -R 777 文件或文件夹的名字(给某个目录或文件所有权限)

15、执行.sh文件

bash 文件名

例如: bash eai.sh

或将其修改为可执行文件:

chmod +x sh文件名

./sh文件名

举例:

1、  chmod +x eai.sh

2、  ./eai.sh

16、在指定GPU训练的情况下,将程序在后台运行(以免SSH断开后程序终止)

将程序在后台运行,且将运行结果输出至指定log文件 的指令是:

nohup command > filename.log 2>&1 &

例如,执行 file.py 文件,且将运行过程保存至 result.log 中:

nohup python file.py > result.log 2>&1 &

若指定GPU训练时,以0号GPU为例,指令为:

CUDA_VISIBLE_DEVICES=0 nohup python file.py > result.log 2>&1 &

17、Ubuntu ssh频繁断开解决办法

 

$ ssh -o ServerAliveInterval=60  user@server

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值