linux tips

Before20170101

# tar 
打包文件 [root@linux ~]# tar -cvf /tmp/etc.tar /etc ##仅打包,不压缩! 
解压文件 tar -xvf /tmp/etc.tar.gz 

# firefox安装flash player 

玩三国杀需要flash player,下载安装 ref http://blog.sina.com.cn/s/blog_58cfda2a0101jb7f.html(Ubuntu 12.10下为Firefox安装Adobe Flash Player)

# 密码修改

sudo passwd user(root或对应的用户名)

20170101

# find 和 grep组合使用
1. 查找所有".h"文件
find /PATH -name "*.h"
2. 查找所有".h"文件中的含有"helloworld"字符串的文件
find /PATH -name "*.h" -exec grep -in "helloworld" {} ;
find /PATH -name "*.h" | xargs grep -in "helloworld"
3. 查找所有".h"和".c"文件中的含有"helloworld"字符串的文件
find /PATH /( -name "*.h" -or -name "*.c" /) -exec grep -in "helloworld" {} ;
4. 查找非备份文件中的含有"helloworld"字符串的文件
find /PATH /( -not -name "*~" /) -exec grep -in "helloworld" {} ;
注:/PATH为查找路径,默认为当前路径。带-exec参数时必须以;结尾,否则会提示“find: 遗漏“-exec”的参数”。
 
# 查看文件夹大小
du -h --max-depth=1
详见man du; 还有的常用选项
-s(--summarize)  --exclude=foldername
 
挂载磁盘
mount /dev/sdc1 /tmp/sdc1
umount /tmp/sdc1
 
将镜像刻录到一个盘上
sudo dd if=xxx.iso of=/dev/sdc
##以下显示进度信息做法ubuntu1404OK, 1604not work.
sudo dd if=/media/ly/DATA/1SW_Download/rhel-server-7.2-x86_64-dvd.iso of=/dev/sdc& pid=$!
while sudo kill -USR1 $pid;do sleep 1; done
 
180502
CentOS7进入单用模式(etc下配置错误救援,改root密码)
开机输入“e”进入GRUB页面!
进入后,找到linux16 开头的一行!按向右的方向键,定位到ro 然后修改如下:

ro
->
rw init=/sysroot/bin/sh
使用下面的提示使用“Ctrl-x”start!!!
进入系统后,其实只是进入了一个安全模式下的内存系统,并不是真正的咱们正常使用的linux系统,
当我们输入命令
#ls/sysroot/下才是我们正常的系统里面的文件!
使用命令
#chroot/sysroot/切换到正常系统中去!
现在我们就可以更改root的密码,或者重新编辑etc中的错误配置了。
#passwdroot 就可以修改密码了(如果linux系统是中文的会出现乱码,使用 "#LANG=en" 即可)。
注意一定要在修改完后,输入
#touch/.autorelabel
不然会导致系统无法正常登陆!
这样就完成了。

ref:https://www.2cto.com/net/201706/643397.html(CentOS 7 单用户模式+救援模式)

#开机自动挂载
 sudo gvim /etc/fstab #参考已有的编辑增加
UUID=00092503000AD7E4 /run/media/ntfs_doc ntfs defaults 1 1

#[lb@lbC74 ~]$ sudo blkid /dev/sd*
#/dev/sda: PTTYPE="dos"
#/dev/sda1: LABEL="WIN7_64" UUID="9494F84A94F8307A" TYPE="ntfs"
#/dev/sdb: PTTYPE="dos"
#/dev/sdb1: LABEL="michelle" UUID="325AF44C5AF40DFB" TYPE="ntfs"
#/dev/sdb2: PTTYPE="dos"
#/dev/sdb5: LABEL="Study" UUID="9EC00DBBC00D9AA3" TYPE="ntfs"
#/dev/sdb6: LABEL="doc" UUID="00092503000AD7E4" TYPE="ntfs"
#/dev/sdb7: LABEL="swap1" UUID="9eae02f5-ebc8-429d-a2ba-724a3bc6b1dd" TYPE="swap"
#/dev/sdb8: LABEL="root1" UUID="461f3581-872d-4ab5-8f13-b68b7dbb3f60" TYPE="ext4"

#开机自动启动

1.centos7
添加 命令到sudo gvim /etc/rc.d/rc.local 失败,还不知道开机自动启动程序
自动启动服务管理:
sudo systemctl enable teamviewerd.service
sudo systemctl disable teamviewerd.service
sudo systemctl status teamviewerd.service
sudo systemctl start teamviewerd.service
sudo systemctl stop teamviewerd.service
关闭selinx: sudo gvim /etc/selinux/config

180512
#Linux rm File Recovery POK
extundelete tested in centOS7 and ubuntu16.04, cannot recovery files.
mistake option and delete centos7's files, first use extundelete try to recovery the files, not OK.
Then repeat the mistake again, shutdown, and use a liveCD boot, install extundelete, and try to recovery the files, not OK.
So be careful when using 'rm -rf *'.

#CentOS桌面文件夹误删,导致图形用户界面目录混乱复原方法
Linux多用户命令行删除文件夹不小心把桌面删除了,导致startx启动图形界面后home文件夹变为桌面,使桌面一片混乱。
解决办法:
先在home目录下新建一个Desktop文件夹(mkdir Desktop)
然后修改home目录下的隐藏文件.config/user-dirs.dirs
eg: XDG_DESKTOP_DIR="$HOME/" 改为 XDG_DESKTOP_DIR="$HOME/Desktop"

logout 再login.

ref:https://blog.csdn.net/xpx1995/article/details/79184400

#linux 查看设置时间
查看系统时间
[root@localhost ~]# date
Tue Jun 13 10:20:13 CST 2017
查看硬件时间
[root@localhost ~]# sudo hwclock
Tue 13 Jun 2017 02:11:12 AM CST -0.848845 seconds
可以看出系统时间比硬件时间快,系统时间是准确的
假如系统时间和硬件时间都不准确
更新系统年月日
[root@localhost ~]# timedatectl set-time 2017-06-13
更新系统时分秒
[root@localhost ~]# timedatectl set-time 10:25:17
更新时区(亚洲-中国-上海)
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
将硬件时钟调整为与系统时钟一致
[root@localhost ~]# timedatectl set-local-rtc 1
或者
[root@localhost ~]# hwclock --systohc --localtime
将日期写入CMOS
[root@localhost ~]# clock –w
再次查看系统时间和硬件时间,他们就一致了
ref:https://www.jianshu.com/p/a43114612588

# shell types
Bourne Shell; Bourne Again Shell; C Shell ;Korn Shell
sh bash csh ksh
sh bash csh(tcsh bsd-csh) ksh(pdksh) source ./ 
# /bin/csh

# 查看杀死进程
1.top
sudo kill id_number
2.ps -ef | grep keyword
kill -9 id_number

# gzip gunzip压缩 解压缩文件
eg:将1.txt压缩为1.txt.gz
gzip 1.txt
eg:将1.txt.gz解压缩
gunzip -d 1.txt

# xargs 批处理命令
eg:将当前文件夹中所有.gz文件解压
ls *.gz | xargs gunzip -d

# look up port
netstat -ntlp //查看当前所有tcp端口·
Close port:
iptables -A INPUT -p tcp --dport 8080 -j DROP
Open port:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# id username #print user id info
chown -hR user_name:group_name your_folder
chgrp -R group_name your_folder

# Linux下永久修改MAC地址和ifconfig命令总结(转)
用root身份登录,在/etc/rc.d/rc.local里加上这三句
ifconfig eth0 down
ifconfig eth0 hw ether 00:0C:29:67:05:B2
ifconfig eth0 up
这样重新reboot后就不怕MAC复原了。

# Linux下修改计算机名
####### RHEL6.9_X64:
1. vi /etc/hosts
eg:
27.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-->
27.0.0.1 localhost lyR69 localhost4 localhost4.localdomain4
::1 localhost lyR69 localhost6 localhost6.localdomain6

2. vi /etc/sysconfig/network
eg:
HOSTNAME=localhost.localdomain
-->
HOSTNAME=lyR69

####### Cent74_x64:
1. vi /etc/hosts
eg:
27.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
-->
27.0.0.1 localhost lyR69 localhost4 localhost4.localdomain4
::1 localhost lyR69 localhost6 localhost6.localdomain6

2. vi /etc/sysconfig/network
eg:
HOSTNAME=localhost.localdomain
-->
HOSTNAME=lyR69

3. vi /etc/hostname
to your new name

# 修改IP可以通过界面方式修改,以下方法不可用,重启失败。
vi /etc/sysconfig/network-scripts/ifcfg-eth0(eth0,第一块网卡,如果是第二块则为eth1)
按如下修改ip
DEVICE="eth0"
BOOTPROTO="static"
IPADDR="192.168.0.11"
NETMASK="255.255.255.0"
GATEWAY="192.168.0.1"
HWADDR="00:0C:29:67:05:BF"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="944d536e-f129-4286-b13d-1547b615d64c"

然后
service network restart
IP地址生效,重启系统后不变
如果是临时修改IP重启系统后恢复原始IP则用以下命令
ifconfig IP地址 netmask 子网掩码

## linux access windows share folder
# need install (sudo yum/apt-get install cifs-utils)
mkdir ~/WinShare/1SW_Download
sudo mount.cifs //192.168.199.226/1SW_Download ~/WinShare/1SW_Download/ -o user=LuoY --verbose

## NOT-OK windows access linux share folder
## test on centos7.4
#sudo yum install samba #install samba
#sudo smbpasswd -a lb #add user, same name with linux user.
#sudo vi /etc/samba/smb.conf #config share folder.
##############
#[Downloads]
# path = /home/lb/Downloads
# available = yes
# valid users = LinuxUserName(lb)
# read only = no
# browsable = yes
# public = yes
# writable = yes
################
#systemctl | grep smb #check smb service status.
#sudo service smb restart #restart smb service.

## ref:
#https://www.cnblogs.com/lyrichu/p/6867573.html
#怎样共享windows和linux之间的文件

古有内事不决问张昭,外事不决问周瑜; 今有生活不懂问百度,学术不懂问谷歌。 (SunQuan)The inner undecided ask ZhangZhao, the outer undecided ask ZhouYu. (I)Life unknown ask Baidu, academic unknown ask Google.
原文地址:https://www.cnblogs.com/luoyanghero/p/5245846.html