리눅스 / 명령어 / ls / 디렉토리와 파일 목록 출력하는 명령어

ls는 list의 약어로, 디렉토리와 파일 목록을 출력하는 명령어이다.

ls 디렉토리명

  • 디렉토리에 속한 디렉토리와 파일 목록을 출력한다.
  • 숨김 파일은 나오지 않는다.
  • 디렉토리명을 생략하면 현재 디렉토리에 속한 디렉토리와 파일 목록을 출력한다.
  • 예를 들어 다음과 같이 명령하면 /var 디렉토리에 속한 디렉토리와 파일 목록을 출력한다.
# ls /var

ls -a, ls -l

  • -a 옵션을 붙이면 숨김 파일도 출력한다.
  • -l 옵션을 붙이면 소유자, 파일 크기 등 자세한 정보도 같이 출력한다.
  • -al 옵션을 붙이면 숨김 파일을 포함하여 자세한 정보를 출력한다.

제일 앞에 d가 있는 것은 디렉토리(폴더), -가 있는 것은 파일이다.

  • h 옵션을 붙이면 파일 크기를 해석하기 편하게 출력한다.

다음과 같이 명령하여 컴퓨터에 장착된 디스크와 파티션 목록을 출력할 수 있다.

# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 31 01:58 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 31 01:58 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 31 01:58 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 31 01:58 /dev/sdb
brw-rw---- 1 root disk 8, 17 Oct 31 02:34 /dev/sdb1

ls *

  • *를 사용하여 특정 조건에 맞는 디렉토리와 파일만 출력할 수 있다.
  • 다음과 같이 명령하면 /etc 디렉토리에서 확장자가 conf인 파일들을 출력한다.
# ls /etc/*.conf
  • /etc 디렉토리에서 m으로 시작하고 확장자가 conf인 파일을 출력한다.
# ls /etc/m*.conf

ls --help

  • ls 명령어의 옵션을 출력한다.
# ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
                               1,048,576 bytes; see SIZE format below
  -B, --ignore-backups       do not list implied entries ending with ~
  -c                         with -lt: sort by, and show, ctime (time of last
                               modification of file status information);
                               with -l: show ctime and sort by name;
                               otherwise: sort by ctime, newest first
  -C                         list entries by columns
      --color[=WHEN]         colorize the output; WHEN can be 'never', 'auto',
                               or 'always' (the default); more info below
  -d, --directory            list directories themselves, not their contents
  -D, --dired                generate output designed for Emacs' dired mode
  -f                         do not sort, enable -aU, disable -ls --color
  -F, --classify             append indicator (one of */=>@|) to entries
      --file-type            likewise, except do not append '*'
      --format=WORD          across -x, commas -m, horizontal -x, long -l,
                               single-column -1, verbose -l, vertical -C
      --full-time            like -l --time-style=full-iso
  -g                         like -l, but do not list owner
      --group-directories-first
                             group directories before files;
                               can be augmented with a --sort option, but any
                               use of --sort=none (-U) disables grouping
  -G, --no-group             in a long listing, don't print group names
  -h, --human-readable       with -l, print sizes in human readable format
                               (e.g., 1K 234M 2G)
      --si                   likewise, but use powers of 1000 not 1024
  -H, --dereference-command-line
                             follow symbolic links listed on the command line
      --dereference-command-line-symlink-to-dir
                             follow each command line symbolic link
                               that points to a directory
      --hide=PATTERN         do not list implied entries matching shell PATTERN
                               (overridden by -a or -A)
      --indicator-style=WORD  append indicator with style WORD to entry names:
                               none (default), slash (-p),
                               file-type (--file-type), classify (-F)
  -i, --inode                print the index number of each file
  -I, --ignore=PATTERN       do not list implied entries matching shell PATTERN
  -k, --kibibytes            default to 1024-byte blocks for disk usage
  -l                         use a long listing format
  -L, --dereference          when showing file information for a symbolic
                               link, show information for the file the link
                               references rather than for the link itself
  -m                         fill width with a comma separated list of entries
  -n, --numeric-uid-gid      like -l, but list numeric user and group IDs
  -N, --literal              print raw entry names (don't treat e.g. control
                               characters specially)
  -o                         like -l, but do not list group information
  -p, --indicator-style=slash
                             append / indicator to directories
  -q, --hide-control-chars   print ? instead of nongraphic characters
      --show-control-chars   show nongraphic characters as-is (the default,
                               unless program is 'ls' and output is a terminal)
  -Q, --quote-name           enclose entry names in double quotes
      --quoting-style=WORD   use quoting style WORD for entry names:
                               literal, locale, shell, shell-always, c, escape
  -r, --reverse              reverse order while sorting
  -R, --recursive            list subdirectories recursively
  -s, --size                 print the allocated size of each file, in blocks
  -S                         sort by file size
      --sort=WORD            sort by WORD instead of name: none (-U), size (-S),
                               time (-t), version (-v), extension (-X)
      --time=WORD            with -l, show time as WORD instead of default
                               modification time: atime or access or use (-u)
                               ctime or status (-c); also use specified time
                               as sort key if --sort=time
      --time-style=STYLE     with -l, show times using style STYLE:
                               full-iso, long-iso, iso, locale, or +FORMAT;
                               FORMAT is interpreted like in 'date'; if FORMAT
                               is FORMAT1FORMAT2, then FORMAT1 applies
                               to non-recent files and FORMAT2 to recent files;
                               if STYLE is prefixed with 'posix-', STYLE
                               takes effect only outside the POSIX locale
  -t                         sort by modification time, newest first
  -T, --tabsize=COLS         assume tab stops at each COLS instead of 8
  -u                         with -lt: sort by, and show, access time;
                               with -l: show access time and sort by name;
                               otherwise: sort by access time
  -U                         do not sort; list entries in directory order
  -v                         natural sort of (version) numbers within text
  -w, --width=COLS           assume screen width instead of current value
  -x                         list entries by lines instead of by columns
  -X                         sort alphabetically by entry extension
  -1                         list one file per line

SELinux options:

  --lcontext                 Display security context.   Enable -l. Lines
                             will probably be too wide for most displays.
  -Z, --context              Display security context so it fits on most
                             displays.  Displays only mode, user, group,
                             security context and file name.
  --scontext                 Display only security context and file name.
      --help     display this help and exit
      --version  output version information and exit

SIZE is an integer and optional unit (example: 10M is 10*1024*1024).  Units
are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

Using color to distinguish file types is disabled both by default and
with --color=never.  With --color=auto, ls emits color codes only when
standard output is connected to a terminal.  The LS_COLORS environment
variable can change the settings.  Use the dircolors command to set it.

Exit status:
 0  if OK,
 1  if minor problems (e.g., cannot access subdirectory),
 2  if serious trouble (e.g., cannot access command-line argument).

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'ls invocation'
같은 카테고리의 다른 글

리눅스 / IP 확인하는 방법

리눅스에서 IP 주소를 확인하는 방법은 여러 가지가 있으며, 이를 수행하는 데 사용되는 명령어와 도구는 다음과 같습니다. 이 명령어들은 모두 터미널에서 실행됩니다. ip addr 아래 명령어를 실행하면 모든 네트워크 인터페이스의 상세 정보가 표시됩니다. IP 주소는 inet 항목에서 확인할 수 있습니다. # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen ...

리눅스 / 명령어 / history / 이전에 실행했던 명령어 목록 출력하는 명령어

history는 이전에 실행했던 명령어 목록 출력하는 명령어이다. history 이전에 실행했던 명령어 목록을 일련번호와 함께 출력한다. # history history n 최근 n개의 명령어 목록을 출력한다. 다음과 같이 명령하면 최근 실행한 10개의 명령어를 출력한다. # history 10 !! !!를 입력하고 엔터를 누르면 직전에 실행했던 명령어를 다시 실행한다. !n 일련번호가 n인 명령어를 실행한다. 다음과 같이 명령하면 번호가 202인 명령어를 실행한다. # !202

CentOS 7 / Apache, PHP, MariaDB 설치하는 방법

CentOS 7 / Apache, PHP, MariaDB 설치하는 방법

CentOS에 Apache, PHP, MariaDB를 설치하는 방법을 간략히 정리합니다. APM 설치 Apache, PHP, MariaDB을 설치합니다. yum install httpd php mariadb-server php-mysql 서비스 설정 Apache가 부팅 시 자동으로 시작되도록 합니다. systemctl enable httpd.service MariaDB가 부팅 시 자동으로 시작되도록 합니다. systemctl enable mariadb.service Apache를 시작합니다. systemctl start httpd.service MariaDB를 시작합니다. systemctl start mariadb.service 방화벽 설정 http로 접속할 수 있도록 포트를 열어줍니다. firewall-cmd --permanent --add-service=http https로 접속할 수 있도록 포트를 ...

Ubuntu 18.04 Server / apt / 패키지 설치, 삭제, 업그레이드하는 명령어

Ubuntu에서 패키지를 관리하는 명령어는 여러 가지가 있습니다. 그 중 널리 사용되는 것은 apt-get과 apt입니다. 아래는 apt를 이용하여 패키지를 설치하고 삭제하고 업그레이드하는 방법입니다. 대부분의 경우 apt-get을 사용해도 작동합니다. APT 사용법 패키지 목록을 갱신합니다 # apt update 모든 패키지를 최신 버전으로 업그레이드합니다. # apt upgrade abc 패키지를 설치합니다. 의존성있는 패키지도 함께 설치합니다. # apt install abc abc 패키지를 삭제합니다. 설정 ...

CentOS 7 / ntp로 시간 동기화 하는 방법

CentOS 7 / ntp로 시간 동기화 하는 방법

리눅스가 OS인 서버의 시간과 실제 시간을 동기화하는 방법 중의 하나는 ntp를 이용하는 것입니다. CentOS 7에 ntp를 설치하고 설정하는 방법을 요약합니다. ntp 설치 yum install ntp 동기화할 서버 주소 가까운 곳에 있는 시간 서버를 사용하는 게 좋습니다. (하지만, 설정을 변경하지 않아도 큰 문제는 없습니다.) 서버 주소는 http://www.pool.ntp.org/에서 구할 수 있습니다. 지역을 아시아로 했을 때의 서버 주소는 다음과 같습니다. server 0.asia.pool.ntp.org server ...

Ubuntu 22.04 Server / root 계정으로 로그인하는 방법, root 계정으로 ssh 접속하는 방법

Ubuntu는 설치할 때 일반 사용자 계정만 만듭니다. 관리자 권한이 필요할 때는 sudo를 이용하죠. 그런데 공부를 위해 혼자만 사용하거나, 여러 가지 이유로 보안에 문제가 없는 경우 root 계정으로 로그인해서 작업하는 게 편합니다. root 계정으로 로그인 하는 방법 일반 사용자 계정으로 로그인합니다. 다음과 같이 명령하여 root 계정의 비밀번호를 만들면 root 계정으로 로그인할 수 있습니다. # sudo ...

Ubuntu 22.04 Server / 고정 IP 설정하는 방법

Ubuntu 22.04 Server / 고정 IP 설정하는 방법

설정 파일 수정하기 네트워크 설정 파일은 /etc/netplan 디렉토리 안에 있는 yaml 파일이다. DHCP로 설치했다면, 설정 파일 내용은 다음과 비슷하게 되어 있다. # This is the network config written by 'subiquity' network: ethernets: eth0: dhcp4: true version: 2 다음과 같이 수정하고 저장한다. IP 등은 네트워크 환경에 ...

Rocky Linux 9 / 설치된 패키지 확인하는 방법

Rocky Linux 9 / 설치된 패키지 확인하는 방법

Rocky Linux에서 설치된 패키지 확인은 dnf 또는 rpm 명령어로 할 수 있다. 출력하는 내용에 차이가 있다. dnf 명령어로 설치된 패키지 확인 설치된 모든 패키지를 출력한다. # dnf list --installed 설치된 패키지 중 이름에 mariadb가 있는 것을 출력한다. # dnf list --installed | grep mariadb rpm 명령어로 설치된 패키지 확인 설치된 모든 패키지를 출력한다. # rpm -qa 설치된 패키지 중 ...

CentOS 7 / 설치하기

CentOS 7 / 설치하기

CentOS ISO 다운로드 CentOS ISO 파일은 DVD ISO, Everything ISO, Minimal ISO, NetInstall ISO 등 여러 가지가 있습니다. 이 중에서 가장 파일 크기가 작은 NetInstall ISO 파일로 설치하겠습니다. NetInstall ISO는 설치에 필요한 최소한의 파일만 포함하고 있고, 추가 소프트웨어는 다운로드 받아 설치합니다. CentOS 7의 NetInstall ISO 파일은 다음 링크에서 다운로드를 받을 수 있습니다. http://mirror.navercorp.com/centos/7/isos/x86_64/ 파일 이름은 CentOS-7-x86_64-NetInstall-xxxx.iso입니다. CD로 부팅 ISO 파일을 CD에 ...

리눅스 / 게이트웨이(gateway) 확인하는 방법

리눅스에서 네트워크 정보는 주로 ifconfig, ip addr 명령어로 확인한다. 그런데, gateway 정보는 나오지 않는다. 만약 gateway 정보가 필요하다면 route 명령어를 사용한다. Ubuntu애서 명령어가 없다고 나오면 net-tools를 설치한다. apt install net-tools