1. 用户
1.1 创建用户
sudo adduser testUser
cat /etc/passwd检查是否成功
adduser:会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
1.2 创建组
sudo groupadd 组名
sudo groupdel 组名
1.3 用户组增减用户
gpasswd -a userName groupName
gpasswd -d userName groupName
1.4 增加到sudoers
sudo vi /etc/sudoers
参照root行,增加testUser行
username ALL=(ALL) ALL
退出wq!强制保存
2. 文件
2.1 特有的链接文件以及区分大小写
所以内核源码在windows下解压会报错
文件从linux分区拷到ntfs或者fat分区会丢失属性
一般用tar打包再传递文件
2.2 文件属性
按位运算,3个字节,:当前用户 、组 、其他用户。
每个字节3个bit,对应RWX
ntfs目录映射的nfs默认是777
常用 可执行777 文本文件644
要仔细设置每个目录的权限,很多入侵就是因为权限设置过大
u+r, u+w, g+w, g+r, o+r, a+r
2.3 修改文件所属用户
chown -R user filename
chown -R user:group filename
3. 解压缩(日常用bz2,网速超慢传文件的时候用xz压缩比大)
bz2后缀tar -jxvf
gz后缀tar -zxvf
zip后缀unzip
xz后缀分两步
解压
xz -d aa.tar.xz
tar -xvf aa.tar
创建tar -cvf a1.tar 然后xz -z a1.tar
4. 查看Linux基本配置信息
4.1 版本号
uname -a
cat /proc/version发行版本信息
4.2 CPU
lscpu
cat /proc/cpu
4.3 内存
Free
4.4 USB
lsusb
4.5 PCI
lspci
5. 分区
5.1 df命令
查看硬盘ls /dev/sd*
多个硬盘分别为sda\sdb\sdc...
硬盘多个分区sda1 sda2 sda3
显示sda\sdb...挂载在哪里目录下,总空间和剩余空间
5.2 fdisk命令
sudo fisk -l
详细的扇区起始信息
5.2.1 分区步骤
sudo fdisk /dev/sdb
提示符出现后,输入m查看帮助
选n,增加一个新分区
输入起始地址等
最后选w,保存退出
此时还没有格式化,还需要以下命令
mkfs.ext4 /dev/sdb1
5.2.2 挂载分区
临时挂载
mount /dev/sdb1 /home/leo/temp
开机自动挂载
sudo blkid 获取新磁盘的uuid
sudo vim /etc/fstab打开fstab文件
复制默认的行UUID=e550f9ee-03aa-4539-bcea-002d3416e858 / ext4 errors=remount-ro 0 1
然后把UUID改成新磁盘的uuid
6. 压缩vbox的分区文件
sudo apt-get install zerofree -y
mount -o ro,remount /dev/sdb1
zerofree /dev/sdb1
mount -o rw,remount /dev/sdb1
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\LeoWork\vbox\u1604\leowork.vdi" --compact
mount -o ro,remount /dev/sdb1;zerofree /dev/sdb1;mount -o rw,remount /dev/sdb1
7. 查找字符串
grep “aaaaa” –nR
grep "zynq-can-1.0" * -nR |grep "\.c"
grep -R "xilinx" --include \*.c
8. 查找文件
find <directory> -type f -name "*.c" | xargs grep "<strings>"
find -name *.c
find -name *defconfig |grep Xilinx
9. 查看目录下文件个数
统计某文件夹下文件的个数(不包括目录)
ls -l |grep "^-"|wc -l
统计某文件夹下目录的个数(不包括文件)
ls -l |grep "^d"|wc -l
统计文件夹下文件的个数,包括子文件夹里的
ls -lR |grep "^-"|wc -l
10. 其他常用命令
echo $PATH
查看当前搜索路径
vi和vim
vi是任何发行版都自带的,vim在有些嵌入式板卡上没有这个命令
gedit最方便,但是ssh连接时用不了
cat filename
查看文件内容,相当于dos的type
passwd修改当前用户密码
id
查看当前用户uid,gid。在nfs配置时会用到这个值
date,查看时间
date MMDDhhmmYYYY,对时(pc格式)
hwclock,查看硬件时钟。hwclock –systohc系统时间写到硬件时钟。也可以用hwclock -w
有的嵌入式需要加引号date -s "2020-1-13 16:12:05"
uptime
比如判断板子长时间运行过程中是否异常重启,事先又没有增加任何调试手段,就可以通过这个来确定
查看系统上电运行时间。uptime,但是终端不一定支持。原始办法是cat /proc/uptime,会出现2个数字,前一个数字是系统运行时间,单位是秒,除3600就得到小时
创建链接ln -s source dest
查看网络netstat -lnt
设置网卡mac地址
ifconfig eth0 hw ether 00:01:02:03:04:05