1、删除文件夹或文件
1、将会强行删除文件,且无提示
rm -f filename
2、目录名字 删除文件夹以及文件夹中的所有文件命令 其中:-r:向下递归删除 -f:直接强行删除,且没有任何提示
rm -rf filename
3、删除a文件夹下所有的东西 不建议使用
rm -rf a/*
4、删除当前文件夹下带a前缀的所有的东西 不建议使用
rm -rf a*
5、使用rm -rf要格外注意,linux中没有回收站,慎重操作。别做删库跑步的操作。
2、修改文件或文件夹名
1、把当前目录下的file1文件名改成file2,如果该目录下有file2,则覆盖以前的file2文件。
mv file1 file2
2、将/a目录移动到/b下,并重命名为c
mv /a /b/c
3、创建文件和文件夹
3.1、创建文件夹和文件
创建目录:mkdir(make directories)
功能说明:建立目录
语 法:mkdir [-p][–help][–version][-m <目录属性>][目录名称]
补充说明:mkdir可建立目录并同时设置目录的权限。
参 数:
-m<目录属性>或–mode<目录属性> 建立目录时同时设置目录的权限。
-p或–parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
例:mkdir test
创建文件 touch
功能说明:改变文件或目录时间。
语 法:touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>] [–help] [–version][文件或目录…] 或 touch [-acfm][–help][–version][日期时 间][文件或目录…]
补充说明:使用touch指令可更改文件或目录的日期时间,包括存取时间和更改时间。
参 数:
-a或–time=atime或–time=access或–time=use 只更改存取时间。
-c或–no-create 不建立任何文件。
-d<时间日期> 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m或–time=mtime或–time=modify 只更改变动时间。
-r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间> 使用指定的日期时间,而非现在的时间。
例:touch test.txt (注:Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件)
3.2、批量创建
touch file{0..9}.txt
mkdir file{0..9}.txt
4、文件搜索 find&grep
文件搜索比较多,请看我的另外一篇博客:
https://blog.csdn.net/weixin_38024782/article/details/108868957
5、curl命令
curl -X 'POST' -d 'name=百度' https://www.baidu.com/sugrec?prod=pc_his
- -X ‘POST’ 请求方式
- d ‘name=百度’ or curl -i -X POST -H ‘Content-type’:‘application/json’ -d {“a”:“abcd”} 请求参数
- https://www.baidu.com/sugrec?prod=pc_his请求接口
6、文件复制
1、将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
cp cp -r /usr/men /usr/zh
2、从远处复制到本地 从本地复制到远程则反过来就ok了 root:用户名;@192.168.123.45 服务器ip; :/opt/soft/ /opt/soft/ 服务器绝对路径
scp scp -r root@192.168.123.45:/opt/soft/mongodb /opt/soft/
7、sftp操作
1、连接远程服务器
sftp user@ip
2、 帮助
help
3、下载soft/a.txt 到soft1目录
get get /soft/a.txt /soft1/
4、上传
put put a.txt /soft1/
5、前缀带“l”的为本地 不带为远程
pwd lpwd 当前目录
6、查看当前文件夹 lls -l 排序
lls ls
7、退出
exit
8、ps 和 kill命令
1、查找vim进程
ps -ef | grep vim
2、强制杀死123,456进程
kill -9 123 456
9、ssh免密登录
1)Linux下生成密钥 ssh-keygen -t rsa
生成linux下的密钥要用到 ssh-keygen 命令,一般执行完这个命令公钥和私钥会生成到 .ssh 的隐藏目录。在执行这个命令之前我们先检查一下这个目录是否存在,因为有些linux如果没有这个目录的话是不会生成key的。
2)远程免密登录
现在我们就需要把key文件复制到其它几台服务器了,而复制的方式主要有两种
a:通过ssh-copy-id的方式 命令: ssh-copy-id 服务器IP
ssh-copy-id 192.168.0.11 或 ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.91.135
b:通过scp将内容写到对方的文件中 命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys
scp -p ~/.ssh/id_rsa.pub root@192.168.91.135:/root/.ssh/authorized_keys
10、Linux统计文件夹、文件数量的命令
1、查看当前目录下的文件数量(不包含子目录中的文件)
ls -l | grep "^-"| wc -l
2、查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lr | grep "^-"| wc -l
3、查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l | grep "^d"| wc -l
4、查询当前路径下的指定前缀名的目录下的所有文件数量 # 例如:统计所有以“20161124”开头的目录下的全部文件数量
ls -lr 20161124*/ | grep "^-" | wc -l
5、统计行数
cat **.txt | wc -l
对每个命令参数做一下说明备注:
ls -l 该命令表示以长列表输出指定目录下的信息(未指定则表示当前目录),R代表子目录中的“文件”,这个“文件”指的是目录、链接、设备文件等的总称
grep “^d” 表示目录,"^-"表示文件
wc -l 表示统计输出信息的行数,因为经过前面的过滤已经只剩下普通文件,一个目录或文件对应一行,所以统计的信息的行数也就是目录或文件的个数
简单版本:
6、查看当前目录下有多少个文件及文件夹
ls | wc -w
7、查看当前目录下有多少个文件
ls | wc -c
8、查看当前文件夹下有多少个文件,多少个子目录
ls -l |wc -l
9、查看当前文件夹中文件的数量
/bin/ls -l |grep ^-|wc -l
11、打包压缩解压
1、tar tar是打包,不是压缩!
tar xvf FileName.tar 打包
tar cvf FileName.tar DirName 解包
2、gz
gunzip FileName.gz 解压
gzip -d FileName.gz 压缩
3、tar.gz
tar zxvf FileName.tar.gz -C /指定目录 解压
tar zcvf FileName.tar.gz DirName 解压到指定目录 -C /指定目录 压缩
4、bz2
bzip2 -d FileName.bz2 解压1
bunzip2 FileName.bz2 解压2
bzip2 -z FileName 压缩
5、tar.bz2
tar jxvf FileName.tar.bz2 解压
tar jcvf FileName.tar.bz2 DirName 压缩
bzip2 -d FileName.bz 解压1
bunzip2 FileName.bz 解压2
压缩:未知
6、tar.bz
tar jxvf FileName.tar.bz 解压
压缩:未知
7、Z
uncompress FileName.Z 解压
compress FileName compress -f jarvis.txt 压缩
#此命令需要安装
yum install ncompress
8、tar.Z
tar Zxvf FileName.tar.Z 解压
tar Zcvf FileName.tar.Z DirName 压缩
9、tgz
tar zxvf FileName.tgz 解压
压缩:未知
10、tar.tgz
tar zxvf FileName.tar.tgz 解压
tar zcvf FileName.tar.tgz FileName 压缩
10、zip
unzip FileName.zip 解压
zip FileName.zip DirName 压缩
#备注
unzip test.zip -d /root/ unzip test.zip -d /root/ 解压到指定目录,加上 -d 选项
11、rar
rar a FileName.rar 解压
rar e FileName.rar 压缩
12、crontab
1.在系统中有service这个命令时:
这个命令在red hat当中常用,有的linux发行版本中没有这个命令.
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
2.linux发行版本没有service这个命令时:
/etc/init.d/cron stop
/etc/init.d/cron start
3.执行出现 /bin/systemctl 。。。。说明是新版的可用以下命令操作
/bin/systemctl restart crond.service #启动服务
/bin/systemctl reload crond.service #重新载入配置
/bin/systemctl status crond.service #查看crontab服务状态
13、新建用户
语法:
useradd [参数] name
参数:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:–home-dir HOME_DIR 指定home目录
-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
-g:–gid GROUP 指定gid
-G:指定用户所属的附加群组。
-l:不要把用户添加到lastlog和failog中, 这个用户的登录记录不需要记载
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-p:–password PASSWORD 指定新用户的密码
-r:–system 建立一个系统帐号
-s: 指定用户登入后所使用的shell。默认值为/bin/bash。
-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
用法实例:
非root用户执行useradd 需临时调权限,前面加sudo
新增一个用户:user1
root下:useradd user1
其他用户:sudo useradd user1
查看linux用户列表:cat /etc/passwd /getent passwd /compgen -u
查看linux用户密码: cat /etc/shadow
14、文件内容查看
请看我的另外一篇博客:
https://blog.csdn.net/weixin_38024782/article/details/108871941
15、linux网络等操作
1、linux重启网络
systemctl restart network.service
2、 linux 修改ip的地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
3、重启、 关机
halt 关机
reboot 重启
4、 安装命令
yum -y install wget
5、 检查端口是否开放
firewall-cmd --query-port=27017/tcp
6、设置端口
firewall-cmd --add-port=27017/tcp
16、linux查看磁盘和文件大小
请看我的另外一篇博客:
https://blog.csdn.net/weixin_38024782/article/details/108870407
17、Linux- iconv命令
请看我的另外一篇博客:
https://blog.csdn.net/weixin_38024782/article/details/108870310
18、文件批量合并
Linux下:
cat *.sql > merge.sql
#或者
cat b1.txt b2.txt b3.txt > b_all.txt
windows下:
1.
Ctrl+Shift +右键 打开命令窗口
copy 1.txt + 2.txt all.txt
2.
新建一个文本文档,文本中输入如下代码:
copy *.txt all.txt
将文本文档的扩展名改为bat,如“merge.bat”。
双击运行merge.bat,会将该目录下所有以.txt结尾的文件合并到all.txtt中。
19、文件拆分(split命令)
split -l 20000 filename.txt -a 3 -d filename_&&ls|grep filename_|xargs -n1 -i mv {} {}.txt
20、linux 添加自启方式
centos7默认关闭了rc.local文件的执行权限,所以需要手动开启:
chmod u+x /etc/rc.d/rc.local
添加方式:
echo "/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf" >> /etc/rc.local
echo "service mysql start" >> /etc/rc.local
# 或者
vi /etc/rc.d/rc.local
#或者
vi /etc/rc.local
21、linux 设置文件编码
在编辑状态中:
set ff=unix
22、查看CPU相关信息命令
请看我的另外一篇博客:
https://blog.csdn.net/weixin_38024782/article/details/108872126