linux使用记录

linux-unix-running-sudo-command-without-a-password sudo执行命令不弹出密码对话框

How to to run sudo command without a password:

  1. Backup your /etc/sudoers file by typing the following command:
    sudo cp /etc/sudoers /root/sudoers.bak
    
  2. Edit the /etc/sudoers file by typing the visudo command:
    sudo visudo
    
  3. Append/edit the line as follows in the /etc/sudoers file for user named ‘vivek’ to run ‘/bin/kill’ and ‘systemctl’ commands:
    vivek ALL = NOPASSWD: /bin/systemctl restart httpd.service, /bin/kill
    

Save and exit the file.

How do I execute ALL sudo commands without password?

  1. Type the following command as root user:
    # visudo
    Or
    $ sudo visudo
    
  2. Append the following entry to run ALL command without a password for a user named tom:
    tom ALL=(ALL) NOPASSWD:ALL
    

linux-unix-running-sudo-command-without-a-password/

check remote port 测试远程端口是否开启

Bash has been able to access TCP and UDP ports for a while. From the man page:

/dev/tcp/host/port
    If host is a valid hostname or Internet address, and port is an integer port number
    or service name, bash attempts to open a TCP connection to the corresponding socket.
/dev/udp/host/port
    If host is a valid hostname or Internet address, and port is an integer port number
    or service name, bash attempts to open a UDP connection to the corresponding socket.
So you could use something like this:
mycomputer-name$cat < /dev/tcp/127.0.0.1/22
SSH-2.0-OpenSSH_6.2p2 Debian-6
^C pressed here

test-if-a-port-on-a-remote-system-is-reachable-without-telnet

show version 查看系统版本

uname -a

cat /etc/*release*

how-can-i-tell-what-version-of-linux-im-using

centos 7 systemctl

centos 7 firewall

service配置文件位置:/usr/lib/firewalld/services/

配置文件格式如下:

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>MySQL</short>
  <description>MySQL Database Server</description>
  <port protocol="tcp" port="3306"/>
</service>

firewall-cmd --state #查看状态

firewall-cmd --list-service #查看允许的服务

firewall-cmd --permanent --add-service=mysql #开启mysql端口

firewall-cmd --reload #重启防火墙

centos 连接wifi

centos wifi

centos6 升级openss

下载最新版1.1.1: curl -O https://www.openssl.org/source/openssl-1.1.1.tar.gz

安装:

tar -xzvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr --openssldir=/usr/local/openssl shared
make
make test
make install

make需要gcc,要确保gcc已经安装,未安装的情况下yum install gcc -y

验证版本: openssl version -a

centos6修改防火墙配置

修改/etc/sysconfig/iptables文件

可参考复制22端口的配置,保存文件后刷新状态:service iptables restart

java tomcat mysql start on boot 开机启动 centos 6

开机启动指定脚本,实现类似自启动的效果

可通过将需执行的命令加入到/etc/rc.d/rc.local中实现

比如将mysql的启动命令mysqld -uroot &加入到rc.local中实现mysql开机启动

将tomcat的startup.sh启动命令加入到rc.local中实现tomcat开机启动

tomcat的startup.sh执行的时候会默认使用/usr/bin/java软连接指向的java版本,所以可以通过修改该链接地址指定使用的java版本

ln -s /opt/jdk-version/bin/java /usr/bin/java

java-location-from-usr-bin-java

centos 6 startup script

设置Bash Prompt(命令行提示,前缀)

可以通过修改PS1变量的值进行设置,路径:~/.bashrc

Bash 变量说明

可用变量说明

centos上java环境配置

  1. 下载要安装版本的jdk curl -O 下载地址,例如下载后的文件名为jdk-1.7.tar.gz

  2. 解压到目录/usr/local/ tar -xzvf jdk-1.7.tar.gz;mv jdk-1.7 /usr/local;cd /usr/local;mv jdk-1.7 java

  3. 在/ect/profile文件中增加如下内容

export JAVA_HOME=/usr/local/java

CLASSPATH=/usr/local/java/lib/dt.jar:/usr/local/java/lib/tools.jar

PATH=/usr/local/java/bin:$PATH

export PATH JAVA_HOME CLASSPATH
  1. 重启

screen命令使用,管理远程会话

  1. screen打开screen窗口

  2. screen -ls列出screen以打开的窗口进程列表

  3. screen -r pid打开pid对应的screen窗口

  4. 在screen窗口运行命令后输入ctrl+A,ctrl+D退出screen窗口(进程不会停止)

转换文件格式

iconv -f utf-8 -t gb2312 t.sql > t1.sql转换t.sql编码格式为gb2312并输出到t1.sql

centos 7 关闭防火墙

systemctl stop firewalld

yum默认安装目录

  1. rpm -qa | grep myprogram查找myprogram的程序全名

  2. rpm -ql myprogram获取位置信息

ubuntu jdk安装

apt-get install openjdk-7-jdk

tomcat安装

  1. 下载tomcat到/usr/local下

    sudo curl -O http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz

  2. 解压tomcat

    sudo tar -zxvf apache-tomcat-7.0.63.tar.gz

    命令说明:z带有gz压缩的文件,x解压,v显示过程信息,f指定要解压的文件

  3. 启动tomcat

    sudo /usr/local/apache-tomcat-7.0.63/bin/startup.sh

  4. 验证

    浏览器访问:http://localhost:8080 显示欢迎界面表示安装成功

设置环境变量

export PATH=/home/git/bin:$PATH

设置全局环境变量,编辑/etc/environment文件

编辑该文件后要注销重新登录才能看到

centos中设置全局环境变量

echo ‘pathmunge /usr/lib/ruby-enterprise/bin’ > /etc/profile.d/ree.sh

chmod +x /etc/profile.d/ree.sh

文件夹重命名

mv olddir newdir

查找命令find

find / -name findcontent

在根目录下查找名为findcontent

ubuntu卸载软件

sudo apt-get –purge remove packagename

在server版上打开新的终端

alt-f1 alt-f2 … alt-f6

centos 网络设置

centos minimal安装后网络配置

虚拟机设置网络连接为桥接模式,并且选择复制物理网络连接

桥接后无法联网,先尝试修改控制芯片,一个一个试

如果问题没有解决,可尝试参考文章:https://jingyan.baidu.com/article/948f59242e601dd80ff5f929.html

参考文章:http://dawn-sky.iteye.com/blog/1546472

主要修改

(centos6) /etc/sysconfig/network-scripts/ifcfg-eth0

(centos7) /etc/sysconfig/network-scripts/ifcfg-eth***

centos7中***表示自己的网卡号

ONBOOT=”yes”

MM_Controlled=”no”

BOOTPROTO=”dhcp”

dhcp表示自动获取

centos6上增加一行 PEERDNS=no

PEERDNS=no是配置不覆盖/etc/resolv.conf,手动修改/etc/resolv.conf增加如下dns服务器(可根据实际情况修改)

nameserver 8.8.8.8 nameserver 8.8.8.4

修改配置以后重启网络:#service network restart

win10 virtual box 给centos 7硬盘扩容

参照文章:

  1. http://blog.csdn.net/king_of_fighter/article/details/17768201

  2. http://stackoverflow.com/questions/13362910/trying-to-resize2fs-eb-volume-fails

根据文章1创建分区并扩容,在最后一步刷新分区容量的时候会报错,这时候根据文章2进行修改

文章2中 sdf是磁盘名称 vol不知道什么意思

最后执行具体命令为:

mount -t xfs/dev/sda3

xfs_growfs /dev/centos/root

对于执行一些命令时终端显示的内容太长,但是终端有没有滚动条的情况,在命令最后加上 less
例如:yum grouplist less即可按照less格式查看终端输出
从上面可以看出” “表示在命令输出后再次调用其他命令,如cat ssh这样的命令

利用ssh上传文件

cat filename | ssh username@hostserver "cat >> /path/filename"

上述命令将filename文件拷贝的远程服务器/path目录下的filename利用scp拷贝本地文件到远程服务器

scp -r srcdir username@hostserver:/path/dir

上述命令会将srcdir拷贝远程服务器/path/dir目录下

利用xclip工具拷贝拷贝文件内容到剪贴板

xclip -set clip < /path/filename

上述命令将filename的内容拷贝到剪贴板

企业版Linux 附加软件包 :https://fedoraproject.org/wiki/EPEL/zh-cn

用以扩展linux系统的安装源

centos设置中文输入法,安装ibus以后需要在键盘设置中的输入源那儿重新添加语言,然后选择汉语(pinyin),记住一定要选pinyin那个,选择汉语不起作用切换输入法的快捷键是super+space即win键+空格键