Contents
  1. 1. Permission denied
  2. 2. 创建新用户
  3. 3. 修改用户密码
  4. 4. 切换用户
  5. 5. 修改默认root用户的密码
  6. 6. 为特定用户添加sudo命令权限
  7. 7. 挂载远程文件系统(mount remote filesystem NFS)
  8. 8. 一些基本的命令提示‘command not found’
  9. 9. error while loading shared libraries
  10. 10. Linux开启ssh服务
  11. 11. 修改ssh的最大连接并发数
  12. 12. Linux 解压
  13. 13. Linux中的复制命令
  14. 14. 查看Linux内核版本的命令
  15. 15. 拦截TCP数据包
  16. 16. 查看内存数据
  17. 17. 限制进程(process)能够打开的最大文件数
  18. 18. root Login
  19. 19. 根据进程名字杀进程
  20. 20. 修改yum的仓库
  21. 21. yum被其他进程占用
  22. 22. 安装deb文件
  23. 23. 安装RPM文件
  24. 24. 将deb文件装换成rpm
  25. 25. 删除非空文件夹

自己用到过和遇见过得命令和异常陈列,基本是Ubuntu之类的界面和操作系统。

Permission denied

sudo chmod -R 777 dell

此命令设置所有用户都有权限访问这个文件夹,其中777=111111111

##如何安装bin文件

sudo chmod u+x name.bin

这个命令给予这个bin文件读写的权限

sudo name.bin

这个命令执行安装

创建新用户

sudo adduser <username>

修改用户密码

sudo password <username>
或者
sudo passwd <username>

切换用户

su <username>

输入密码后就切换到对应的user了

su - <username>

这个命令会把当前设置的环境变量也带过去

修改默认root用户的密码

如果安装时候直接设置了自己的用户名,那么root用户的密码就会是随机的(Ubuntu默认不开放root用户)。

sudo passwd

之后按照提示输入密码就可以修改root用户的密码了

为特定用户添加sudo命令权限

有些用户没有运行sudo的权限,执行sudo的话会提示username is not in the sudoers file
修改sudoers文件可以解决这个问题

1
2
3
4
5
6
$ su -root ## 切换root用户`
$ chmod u+w /etc/sudoers # 添加写权限
$ /etc/sudoers
$ # 在打开的文本编辑器中,找到r**oot ALL=(ALL) ALL在下面添加一行 username ALL=(ALL) ALL
$ # 保存后记得关闭sudoers的写权限
$ chmod u-w /etc/sudoers

挂载远程文件系统(mount remote filesystem NFS)

  1. 实现本机的文件系统可以被别的机器挂载

1.1. 安装nfs服务器

sudo apt-get install nfs-kernel-server

1.2. 修改权限配置文件

vi /etc/exports

根据其中的范例添加你想要共享出去的文件目录(mount point)

1.3. 重启服务使得配置生效

1
2
$sudo /etc/init.d/portmap restart
$sudo /etc/init.d/nfs-kernel-server restart

1.4. 你可以使用 showmount -e 命令查看共享成功的文件系统

  1. 挂载命令

sudo mount -t nfs localhost:/home /mnt

其中-t nfs 可以省略,会使用默认支持的nfs文件类型挂载。

一些基本的命令提示‘command not found’

(这个问题一般会出现在redhat 红帽系统中)
例如输入命令:ifconfig
显示bash: ifconfig: command not found
可能是路径问题,如果然后输入
/sbin/ifconfig 就会显示IP地址等信息。
那么解决办法是
执行cat ~/.bash_profile 看自己的PATH,然后再执行:
gedit /etc/profile 在最后一行后面添加:
PATH=$PATH:sbin
export PATH=$PATH:/sbin
保存退出。
然后在初始化一下:source /etc/profile 你再直接输入:ifconfig 就会直接显示IP等信息了

error while loading shared libraries

error while loading shared libraries:****** :cannot restore segment prot after reloc: Permission denied。
网上查了一下,原因是selinux的问题,selinux的设置太过严格导致的。解决的办法是在root用户下,修改/etc/selinux/config 文件
把SELINUX=enforcing 改成 SELINUX=disabled。
然后,保存关闭,重启机器就可以了。

Linux开启ssh服务

  • 开启服务执行 /etc/init.d/sshd start
  • 如果还是不能连接,尝试关闭防火墙
    • 输入 setup
    • 在弹出界面选择firewall
    • 选择 no firewall。

修改ssh的最大连接并发数

  • 打开文件进行编辑 : vi /etc.ssh/sshd_config
  • 找到 MazStartups 去掉注释,并且修改大最小和最大的数值。
  • 重启ssh服务,可以尝试以下命令(不同内核)
    • sudo systemctl restart sshd
    • /etc/rc.d/init.d/sshd restart
    • service sshd restart

Linux 解压

  • tar
    • 解压: tar xvf fileName.tar
    • 打包: tar cvf vffileNametar dirName
  • .gz
    • 解压: gunzip FileName.gz
    • 解压: gzip -d FileName.gz
    • 打包: gzip FileName dirName
  • .tar.gz 和 .tgz
    • 解压: tar zxvf FileName.tar.gz
    • 打包: tar zcvf FileName.tar.gz DirName
  • .xz
    • 解压 xz -d
    • 解压 tar -xvJf
    • 打包 xz -z
  • .war
    • 解压 unzip file.war
    • 解压 jar -xvf file.war
    • 打包 zip
    • 打包
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      jar -cvfM0 game.war ./

      -c 创建war包

      -v 显示过程信息

      -f

      -M

      -0 这个是阿拉伯数字,只打包不压缩的意思

Linux中的复制命令

cp -rf source_dir target_dir

查看Linux内核版本的命令

  • 命令: uname -a, 查看系统内核版本号及系统名称
  • 命令: cat /proc/version, 查看目录”/proc”下version的信息,也可以得到当前系统的内核版本号及系统名称

拦截TCP数据包

tcpdump -i <interface> host <monitoredhost> -c 300 -w tcpdump.log

拦截指定interface和host的通讯,300个数据包后停止,并且会把拦截到的数据包存储到tcpdump.log里面。使用wireshark可以打开输出的文本进行分析。

查看内存数据

$ cat /proc/meminfo

限制进程(process)能够打开的最大文件数

ulimit -n 1024

Linux 系统默认是1024,这个数值并不是一个对系统性能影响很大的数值。所以你大可以放心的去调节这个参数,而无需考虑太多的性能问题。之所以存在,是为了提供一个方法限制一个程序打开文件的数量,可能更多的考虑是在于安全性和限制权限。当你的程序遇到这个上限的时候,可以使用ulimit -n 命令去提高上限。提高多少,你只需要根据你的程序需求去判断。如果不是内存很紧张的系统,你可以尽量的提高这个上限值。

当然额外的还需要注意这个上限不是无限的,你可能还会受系统内核的限制。

root Login

由于安全原因,部分系统禁止root用户直接使用ssh远程登陆。可以先用非root的帐户,登陆到ssh后,su成为root。如果想直接用root登陆,则修改如下配置文件vi /etc/ssh/sshd_config找到其中的如下一行,将前边的#符号去掉,并修改no为yes
#PermitRootLogin no

根据进程名字杀进程

kill -9 $(pidof 进程名关键字)

修改yum的仓库

/etc/yum.repos.d/ 目录下增加一个name.repo 文件:

1
2
3
4
5
6
[centos]
name=CentOS-7
baseurl=http://ftp.heanet.ie/pub/centos/7/os/x86_64/
enabled=1
gpgcheck=1
gpgkey=http://ftp.heanet.ie/pub/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

之后运行

yum repolist

yum被其他进程占用

https://www.thegeekdiary.com/yum-command-fails-with-another-app-is-currently-holding-the-yum-lock-in-centos-rhel-7/

安装deb文件

1
dpkg -i name.deb

安装RPM文件

1
yum -ivh name.rpm

将deb文件装换成rpm

1
2
yum install alien
alien -r name.deb

删除非空文件夹

rm -r folder

Contents
  1. 1. Permission denied
  2. 2. 创建新用户
  3. 3. 修改用户密码
  4. 4. 切换用户
  5. 5. 修改默认root用户的密码
  6. 6. 为特定用户添加sudo命令权限
  7. 7. 挂载远程文件系统(mount remote filesystem NFS)
  8. 8. 一些基本的命令提示‘command not found’
  9. 9. error while loading shared libraries
  10. 10. Linux开启ssh服务
  11. 11. 修改ssh的最大连接并发数
  12. 12. Linux 解压
  13. 13. Linux中的复制命令
  14. 14. 查看Linux内核版本的命令
  15. 15. 拦截TCP数据包
  16. 16. 查看内存数据
  17. 17. 限制进程(process)能够打开的最大文件数
  18. 18. root Login
  19. 19. 根据进程名字杀进程
  20. 20. 修改yum的仓库
  21. 21. yum被其他进程占用
  22. 22. 安装deb文件
  23. 23. 安装RPM文件
  24. 24. 将deb文件装换成rpm
  25. 25. 删除非空文件夹